【问题标题】:Struts 2 Page Include Access Request Object Attribute From Property TagStruts 2 页面包括来自属性标签的访问请求对象属性
【发布时间】:2015-05-19 14:21:10
【问题描述】:

我正在包含一个使用 s:include 标记的 JSP 页面:

<s:include value="/WEB-INF/jsp/centers/tpa/admin/users/UserEmployerAccessRow.jsp" />

我有几个对象要用于此包含,我试图在包含发生之前将它们存储到请求中。我正在使用 s:set 标记存储到请求对象:

<s:set var="employer_tmp" value="employer" scope="request" />

到目前为止,jsp 中的所有内容都按预期工作。包含的 jsp 无法从 s:property 标记访问请求中的对象。这是我在 UserEmployerAccessRow.jsp 中的内容:

<s:property value="#request[employer_tmp]" />

我也试过这样:

<s:property value="#employer_tmp" />

我已经通过这样做验证了对象在请求中:

<% out.println(request.getAttribute("employer_tmp")); %>

我的猜测是 s:property 正在寻找 Struts 为请求设置的内部映射,而不是查看实际的请求对象。有谁知道强制 s:property 从请求对象中获取某些东西的任何标记?必须在包含此内容的循环中运行另一个操作似乎有点矫枉过正。我不能使用 s:param 将参数传递给包含,因为它只处理简单的 http 参数而不是对象。提前感谢你们提供的任何方向!

【问题讨论】:

    标签: java struts2


    【解决方案1】:

    我最终找到了问题所在。属性名称需要在 s:property 标签中引用:

    <s:property value="#request['employer_tmp']" />
    

    【讨论】:

    • 你也可以使用#request.employer_tmp,也可以
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2014-06-09
    • 2012-01-29
    • 2011-04-03
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    相关资源
    最近更新 更多