【问题标题】:How to set EL variable in Struts ValueStack如何在 Struts ValueStack 中设置 EL 变量
【发布时间】:2013-02-22 18:57:59
【问题描述】:

我正在使用 Tiles 在我的页面上包含一个 JSP,并且我正在向它传递变量,但是我无法访问我在 Struts 标记中传递的值。

我能想到的唯一方法是将一个 EL 值添加到 struts 值堆栈中。关于如何做到这一点的任何想法?

我要将 JSP 插入到的页面:

<tiles:insertTemplate template="manage_requests_tab.jsp">
    <tiles:putAttribute name="page" value="p1" />
    <tiles:putAttribute name="pageSize" value="ps1" />
</tiles:insertTemplate>

我包含的页面:

<tiles:importAttribute name="page" />
<tiles:importAttribute name="pageSize" />

<s:select name="page" id="pageSize" list="myList" listKey="value" listValue="label" />

【问题讨论】:

  • 你传递了什么变量?
  • 我将字符串和对象传递给包含的页面。我可以在我的 struts 标签之外访问它们。
  • 什么版本的瓷砖?您如何将值传递给页面?最好并排显示 struts2 标签没有做你需要的事情,而 EL 能够做同样的事情。你在 struts2 表达式中尝试过“#attr.var”吗?
  • 发生在我身上的事情...是 p1 和 ps1 是暴露的值,您不想使用 putAttribute 标记的 value 属性,而是使用 expression 属性,如果这是 tiles3,表达式也会需要以“EL:”为前缀,对于类似的问题,请参见此处:stackoverflow.com/questions/14884304/…

标签: java jsp struts2 tiles ognl


【解决方案1】:

使用 &lt;s:set var="yourString2"&gt;${yourString}&lt;/set&gt; 。之后,您可以在 struts 标签中引用#yourString2。如果您需要添加 %{#yourString2} 的 OGNL 强制执行。

【讨论】:

    猜你喜欢
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多