我需要在单个表单中为不同的提交按钮调用不同的操作类,并获取struts2中下拉列表的值。
学校学生页面的示例:
我尝试如下,但它不起作用。
码:
<s:submit value="academic" action="academic" />
<s:submit value="sports" action="sports" />
<s:submit value="library" action="library" />
Generated html code gets
<input name="action:academic">
<input name="action:sports">
我在表格标签中使用theme="simple"
。
我通过URL标记尝试了它,但是被调用的操作没有将下拉字段值填充为学生的roll no。
struts.xml中:
`
<package name="default" extends="struts-default">
<action name="academics" class="ViewAcademics" >
<result name="success">pages/ViewAcademics.jsp</result>
</action>
<action name="sports" class="ViewSports" >
<result name="success">pages/ViewSports.jsp</result>
</action>
<action name="library" class="ViewLibrary" >
<result name="success">pages/ViewLibrary.jsp</result>
</action>
</package>
`
JSP文件:
<s:form name="inquiryForm" method="post" theme="simple" >
Select roll no :
<s:select style="width: 200px;"
list="#{'1':'Student 01', '2':'Student 02', '3':'Student 03', '4':'Student 04'}"
id="projectName"
name="studentRollNo"
readonly="false"
headerKey="-1"
headerValue="--- Select ---"
/>
<s:submit cssClass="page" action="academics" value="academics" />
<s:submit cssClass="page" name="sports" value="sports" />
<s:submit cssClass="page" name="library" value="library" />
</s:form>
在提交声明中使用action
属性:
<s:submit cssClass="page" action="academics" value="academics" />
<s:submit cssClass="page" action="sports" value="sports" />
<s:submit cssClass="page" action="library" value="library" />
并且你的所有动作都应该有可变的studentRollNo
和getter / setter。