Select 在另一个struts 2标签中使用一个struts 2标签
我有一个struts 2 select元素来选择每页要显示的结果数量。我在会话变量中设置所选的值。在JSP页面上,我希望在select元素中预选用户选择的值。如果我硬连线的价值,它的工作原理是这样的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' : '
<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
上触发settergetFetchSize()
,因此不要忘记Action类中的getter/setter。