このStruts selectオプション(ドロップダウンボックス)の例をダウンロードする –
Struts-Select-Option-Example.zip
このStrutsの例では、Strutsの<html:select>タグと<html:option>タグを使用してHTML選択オプション(ドロップダウンボックス)を作成する方法を学習します。
<select>タグを使用して選択リスト(ドロップダウンリスト)を作成します。 select要素内の<option>タグはリスト内で使用可能なオプションを定義します。
1.フォルダ構造
これはMavenによって作成された最終的なプロジェクト構造です。対応するフォルダを作成してください。
2.アクションクラス
Actionクラスを作成し、要求を転送するだけです。
package com.mkyong.common.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.mkyong.common.form.HtmlSelectOptionForm; public class HtmlSelectOptionAction extends Action{ public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception { HtmlSelectOptionForm htmlSelectOptionForm = (HtmlSelectOptionForm)form; return mapping.findForward("success"); } }
3.プロパティファイル
プロパティファイルを作成し、エラーメッセージとラベルメッセージを宣言します。
-
Common.properties **
#error message error.common.html.select.required = Please select a year. #label message label.common.html.select.name = Select a year label.common.html.select.button.submit = Submit label.common.html.select.button.reset = Reset
4. ActionForm
ActionFormを作成し、selectオプションの値を保持するyear変数を含みます。
-
HtmlSelectOptionForm.java **
package com.mkyong.common.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; public class HtmlSelectOptionForm extends ActionForm{ String year; public String getYear() { return year; } public void setYear(String year) { this.year = year; } @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if( getYear() == null || ("".equals(getYear()))) { errors.add("common.select.err", new ActionMessage("error.common.html.select.required")); } return errors; } @Override public void reset(ActionMapping mapping, HttpServletRequest request) { //reset properties year = ""; } }
5. JSPページ
HTMLドロップダウンリストを作成するには、StrutsのHTMLタグ<html:select>および<html:option>を使用します。
-
select.jsp **
Struts html:select example : -- None -- 1980 1981 1982 1983 1984 1985
htmlSelectOptionFormフォームからドロップダウンボックスの値を選択して表示します
-
display.jsp **
Your selected year is :
6. struts-config.xml
Struts設定ファイルを作成してリンクします。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://jakarta.apache.org/struts/dtds/struts-config__1__3.dtd"> <struts-config> <form-beans> <form-bean name="htmlSelectOptionForm" type="com.mkyong.common.form.HtmlSelectOptionForm"/> </form-beans> <action-mappings> <action path="/SelectPage" type="org.apache.struts.actions.ForwardAction" parameter="/pages/select.jsp"/> <action path="/Select" type="com.mkyong.common.action.HtmlSelectOptionAction" name="htmlSelectOptionForm" validate="true" input="/pages/select.jsp" > <forward name="success" path="/pages/display.jsp"/> </action> </action-mappings> <message-resources parameter="com.mkyong.common.properties.Common"/> </struts-config>
7. web.xml
最終ステップでweb.xmlを作成し、Strutsフレームワークを統合します。
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app__2__3.dtd" > <web-app> <display-name>Maven Struts Examples</display-name> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value> /WEB-INF/struts-config.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>** .do</url-pattern> </servlet-mapping> </web-app>
それにアクセスする
年を選択して送信ボタンを押すと、
選択したドロップダウンボックスの値を表示します。