struts2 - 具有单独操作类的多个提交按钮

时间:2012-12-19 21:17:40

标签: java javascript struts2

我需要在单个表单中为不同的提交按钮调用不同的操作类,并获取struts2中下拉列表的值。

学校学生页面的示例:

  1. 提交按钮1:显示学术页面
  2. 提交按钮2:显示体育页面
  3. 提交按钮3:显示库页面 等等。
  4. 我尝试如下但不起作用。

    代码:

    <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"

    我是通过网址标记尝试的,但被调用的操作并未将下拉字段值填充为学生的掷骰号。

    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>
    

1 个答案:

答案 0 :(得分:0)

在提交声明中使用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" />

您的所有操作都应该包含带有getter / setter的变量studentRollNo