jsp - struts ognl表达式对表达式的结果求值

标签 jsp struts2 ognl

解释起来有点棘手。我正在尝试编写一个标记来组合一堆地址字段,但我在计算 ognl 表达式时遇到了问题。

预期用途:

member.address 映射到一个 Address 对象(没什么太切肉刀)。

我的标签(最简单的版本):

<%@taglib prefix="s" uri="/struts-tags" %>
<%@attribute name="name" required="true" rtexprvalue="true" type="java.lang.String" %>
<s:push value="%{#attr.name}">
    Address line 1:
    <s:property value="line1"/>
</s:push>

我认为问题在于 <s:push value="%{#attr.name}"/>实际上并没有将 member.address 的结果压入堆栈,它只是压入一个值为“member.address”的字符串。

最佳答案

多一点研究,长时间盯着 ognl documentation结果如下:

<%@taglib prefix="s" uri="/struts-tags" %>
<%@attribute name="name" required="true" rtexprvalue="true" type="java.lang.String" %>
<s:push value="%{(#attr.name)(#attr)}">
   Address line 1:
   <s:property value="line1"/>
</s:push>

似乎可以解决问题。

关于jsp - struts ognl表达式对表达式的结果求值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/853569/

相关文章:

java - 在 Google App Engine java 中处理大数据时服务器遇到错误

java - JAVA 中的 PageContext 是否在 session 或请求之间共享?

java - 如何将键值对从jsp传递到servlet?

java - 使用 <s : iterator> tag 附加静态值

java - 如何避免 Hibernate 中的 LazyInitializationException?

java - Struts 2 登录表单问题

java - 如何使用 Struts2 标签和 OGNL 比较两个字符串?

java - 如何在 Struts 2 中格式化货币?

java - multipart/form-data 与字符一起使用以访问 jsp

java - 从属性文件中设置 struts.xml 操作中的字符串参数