1 つのフォームでさまざまな送信ボタンに対してさまざまなアクション クラスを呼び出し、struts2 でドロップダウンの値を取得する必要があります。
学校の学生ページの例:
- 送信ボタン 1: アカデミック ページを表示
- 送信ボタン 2: スポーツ ページを表示
- 送信ボタン 3: 図書館のページなどを表示します。
以下のようにしてみましたが、うまくいきません。
コード:
<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"
in form タグを使用しています。
URL タグで試してみましたが、呼び出されたアクションがドロップダウン フィールドの値を学生のロール番号として設定していません。
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>