【问题标题】:Is there a way to load a variable page with a java <%@ include?有没有办法用 java <%@ include 加载变量页面?
【发布时间】:2011-12-15 04:30:46
【问题描述】:

我想做这样的事情:

<%@ include file="links/"+linkFile %>

有没有办法做这样的事情?这是一个jsp页面,但我不想使用&lt;jsp:include&gt;,因为我想访问父页面上的所有信息。

谢谢!

【问题讨论】:

  • 你是什么意思,“父页面上的所有信息”?这听起来像是页面的架构有点有趣。
  • 基本上它是一个加载一堆数据的页面,然后有页面格式化数据。加载的数据之一是使用哪个布局文件,它决定了页面的输出。
  • 而且你对不使用作用域变量已经死心了?出于多种原因,静态包含是 PITA;这真的不是一种常见的技术。
  • 我不认为我知道如何以您暗示的方式使用范围变量。我没有受过经典的 Java 培训。

标签: jsp include server-side include-path server-side-includes


【解决方案1】:

TL;DR:没有。

请参阅this page 了解它们之间的比较。 This thread 有更多关于为什么你想做的事情是不可能的细节(以及一个潜在的原因为什么你试图这样做;)

听起来这些页面是“PHP 风格”的。在 clean JSP 站点中,大部分动态工作都是在 Java 代码中完成的,通常是 servlet 或特定于框架的类(动作、控制器等)。

当我说“作用域”变量时,我指的是页面、请求、会话或应用程序上下文中的属性。在这种情况下,您可能只需将内容放在请求范围内,这样它们就可以在任何可以访问当前请求的地方使用。

一旦变量在范围内,就可以使用 JSP EL 语法检索,例如 ${myVariable}

如果没有更多细节,很难知道清理东西的最佳方法是什么。

【讨论】:

  • 感谢您的回答。我想和你谈谈如何使用 java 代码完成的工作。这是我努力做的事情,但我永远无法弄清楚如何在不使用变量的情况下使用 java 动态加载页面。我不知道如何在这里给某人发私信。
  • @PixMach 最简单的做法是创建一个gist 并在 Twitter 上提及我;如果我能在合理的时间内回答,我可能会回复你。
猜你喜欢
  • 2012-08-10
  • 2021-10-22
  • 2021-12-25
  • 2019-01-08
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多