Select 在另一个struts 2标签中使用一个struts 2标签

Select 在另一个struts 2标签中使用一个struts 2标签,select,struts2,Select,Struts2,我有一个struts 2 select元素来选择每页要显示的结果数量。我在会话变量中设置所选的值。在JSP页面上,我希望在select元素中预选用户选择的值。如果我硬连线的价值,它的工作原理是这样的 <s:select name="fetchSize" cssClass="textCopmanyPropValue" value="20" headerKey="" list="#{'10':'10 Results/Page', '15':'15 Results/Page', '20' : '

我有一个struts 2 select元素来选择每页要显示的结果数量。我在会话变量中设置所选的值。在JSP页面上,我希望在select元素中预选用户选择的值。如果我硬连线的价值,它的工作原理是这样的

<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'}"/>`
`
但是,如果使用
标记使用session中的值,它将不起作用

<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标签中使用另一个标签时,它总是很混乱。有人能提供sysntax如何在另一个struts 2标签中使用一个标签吗


提前感谢。

从标准标记库获取帮助:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:set var="fetchSize"><s:property value='%{#session.fetchSize}'/></c:set>
<s:select name="fetchSize" 
          cssClass="textCopmanyPropValue" 
          value="${fetchSize}" 
          headerKey="" 
          list="#{'10':'10 Results/Page', '15':'15 Results/Page', '20' : '20 Results/Page', '25':'25 Results/Page'}"/>`

...
`

不是很优雅,但是很实用。

Struts标签将触发一组内部代码来执行。不允许在另一个Struts标记内使用Struts标记。这类似于HTML,在HTML中不能在另一个标记中使用标记。相反,您可能希望将
fetchSize
作为action类中的属性/属性/字段,并直接在
select
标记中获取它,即
value='fetchSize'
。Struts 2将在
ActionContext
上触发setter
getFetchSize()
,因此不要忘记Action类中的getter/setter。