【发布时间】:2010-08-30 22:40:31
【问题描述】:
我有一个 struts 2 选择元素来选择每页要显示的结果数量。我在会话变量中设置了选定的值。在 JSP 页面上,我希望在选择元素中预先选择用户选择的值。如果我硬线它的价值是这样的
<s:select name="fetchSize" cssClass="textCopmanyPropValue" value="20" headerKey="" list="#{'10':'10 Results/Page', '15':'15 Results/Page', '20' : '20 Results/Page', '25':'25 Results/Page'}"/>`
但如果我使用会话中的值使用<s:property> 标签,它就不起作用
<s:select name="fetchSize" cssClass="textCopmanyPropValue" value="<s:property value='%{#session.fetchSize}'/>" headerKey="" list="#{'10':'10 Results/Page', '15':'15 Results/Page', '20' : '20 Results/Page', '25':'25 Results/Page'}"/>`
请帮助我如何解决这个问题。其次,在另一个内部使用一个 struts 2 标签时总是很混乱。有人可以提供如何在另一个内部使用一个 struts 2 标签的 sysntax。
提前致谢。
【问题讨论】:
-
一个 Struts 标签会在内部触发一组代码来执行。不允许在另一个 struts 标签内的 Struts 标签。这类似于 HTML,您不能在另一个标签内使用一个标签。相反,您可能希望将
fetchSize作为您的操作类中的属性/属性/字段,并直接在您的select标记中获取它,即value='fetchSize'。 Struts 2 将在ActionContext上触发一个settergetFetchSize(),所以不要忘记你的Action 类中的getter/setter。