【发布时间】: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 参数而不是对象。提前感谢你们提供的任何方向!
【问题讨论】: