Struts ドロップダウンボックスの例
この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>
それにアクセスする

年を選択して送信ボタンを押すと、
選択したドロップダウンボックスの値を表示します。
