<s:url>标签
<s:url action="helloworld_add" namespace="/test">
<s:param name="personid" value="23"/>
</s:url>
生成类似如下路径:
/struts/test/helloworld_add.action?personid=23
表单标签——复选框
<s:checkboxlist name="list" list="{'java','net',...}" value="{'java','net'}"/>
<s:checkboxlist name="map" list="#{1:'java',2:'net',...}" listKey="key" listValue="value" value="{1,2}"/>
<s:token/>防止表达重复提交
第一步在表单中加入<s:token/>
<s:form action="xxx" method="post" >
<s:textfield name="xxx" />
<s:token/>
<s:submit/>
<s:form>
第二步:
在struts.xml文件中加入
<action name="xxx" class="" >
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token"/>
<result neme="invalid.token">当重复提交被拦截后转向的页面</result>
上面的3行为必须
</action>
其实就是在action里生成个随机数保存到session中,用隐藏域带到页面。
当在提交时取出隐藏域的数据和session里的数据比较,如果相等重复提交。
<s:url action="helloworld_add" namespace="/test">
<s:param name="personid" value="23"/>
</s:url>
生成类似如下路径:
/struts/test/helloworld_add.action?personid=23
表单标签——复选框
<s:checkboxlist name="list" list="{'java','net',...}" value="{'java','net'}"/>
<s:checkboxlist name="map" list="#{1:'java',2:'net',...}" listKey="key" listValue="value" value="{1,2}"/>
<s:token/>防止表达重复提交
第一步在表单中加入<s:token/>
<s:form action="xxx" method="post" >
<s:textfield name="xxx" />
<s:token/>
<s:submit/>
<s:form>
第二步:
在struts.xml文件中加入
<action name="xxx" class="" >
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="token"/>
<result neme="invalid.token">当重复提交被拦截后转向的页面</result>
上面的3行为必须
</action>
其实就是在action里生成个随机数保存到session中,用隐藏域带到页面。
当在提交时取出隐藏域的数据和session里的数据比较,如果相等重复提交。