Struts 2 updownselectの例
ダウンロード – リンク://wp-content/uploads/2010/06/Struts2-UpDownSelect-Example.zip[Struts2-UpDownSelect-Example.zip]
Struts 2では、
<s:updownselect>
タグを使用して、Selectコンポーネントのオプションを上下に移動するボタンを持つHTML Selectコンポーネントを作成します。フォームが提出されると、すべての選択オプションが、並べられた順に提出されます。
<s:updownselect list="#{'KFC':'KFC', 'McDonald':'McDonald', 'Burger King':'Burger King', 'Pizza Hut':'Pizza Hut', 'Fat Boy King':'Fat Boy King'}" name="favFastFood" headerKey="-1" headerValue="--- Please Order ---" size="7"/>
次のHTMLコードが表示されたら、コンポーネント、ボタン、JavaScriptを選択して上に移動し、Selectコンポーネントのオプションを下に移動します。
(デフォルトのxhtmlテーマ)
<tr> <td class="tdLabel"></td> <td><script type="text/javascript" src="/Struts2Example/struts/optiontransferselect.js"> </script> <table> <tr><td> <select name="favFastFood" size="7" id="resultAction__favFastFood" multiple="multiple"> <option value="-1">--- Please Order ---</option> <option value="KFC">KFC</option> <option value="McDonald">McDonald</option> <option value="Burger King">Burger King</option> <option value="Pizza Hut">Pizza Hut</option> <option value="Fat Boy King">Fat Boy King</option> </select> <input type="hidden" id="____multiselect__resultAction__favFastFood" name="____multiselect__favFastFood" value=""/> </td></tr> <tr><td> <input type="button" value="^" onclick=" moveOptionUp(document.getElementById('resultAction__favFastFood'), 'key', '-1');"/> <input type="button" value="v" onclick=" moveOptionDown(document.getElementById('resultAction__favFastFood'), 'key', '-1');"/> <input type="button" value="** " onclick="selectAllOptionsExceptSome( document.getElementById('resultAction__favFastFood'), 'key', '-1');"/> </td></tr> </table></td> </tr> <script type="text/javascript"> var containingForm = document.getElementById("resultAction"); StrutsUtils.addEventListener(containingForm, "submit", function(evt) { var updownselectObj = document.getElementById("resultAction__favFastFood"); selectAllOptionsExceptSome(updownselectObj, "key", "-1"); }, true); </script>
Struts 2 <s:updownselect>例
-
<s:updownselect> ** タグの完全な例は、OGNLおよびJavaリストを使用してデータをupdown selectリストに取り込む方法を示します。
1.アクションクラス
selectオプションを生成して格納するActionクラス。
-
UpDownSelectAction.java **
package com.mkyong.common.action; import java.util.ArrayList; import java.util.List; import com.opensymphony.xwork2.ActionSupport; public class UpDownSelectAction extends ActionSupport{ private List<String> moviesList = new ArrayList<String>(); private String favMovie; private String favFastFood; public UpDownSelectAction(){ moviesList.add("Spider Man"); moviesList.add("Matrix"); moviesList.add("Super Man"); moviesList.add("Dark Knight"); moviesList.add("BraveHeart"); moviesList.add("Ultraman"); } public String getFavFastFood() { return favFastFood; } public void setFavFastFood(String favFastFood) { this.favFastFood = favFastFood; } public List<String> getMoviesList() { return moviesList; } public void setMoviesList(List<String> moviesList) { this.moviesList = moviesList; } public String getFavMovie() { return favMovie; } public void setFavMovie(String favMovie) { this.favMovie = favMovie; } public String execute() throws Exception{ return SUCCESS; } public String display() { return NONE; } }
2.結果ページ
”
<s:updownselect>
“タグを使用して、updown selectコンポーネントをレンダリングします。
-
updownselect.jsp **
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <s:head/> </head> <body> <h1>Struts 2 updownselect example</h1> <s:form action="resultAction" namespace="/" method="POST" > <s:updownselect list="#{'KFC':'KFC', 'McDonald':'McDonald', 'Burger King':'Burger King', 'Pizza Hut':'Pizza Hut', 'Fat Boy King':'Fat Boy King'}" name="favFastFood" headerKey="-1" headerValue="--- Please Order ---" size="7"/> <s:updownselect list="moviesList" name="favMovie" headerKey="-1" headerValue="--- Please Order ---" size="10" moveUpLabel="Move Up" moveDownLabel="Move Down" selectAllLabel="Select All"/> <s:submit value="submit" name="submit"/> </s:form> </body> </html>
-
result.jsp **
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <body> <h1>Struts 2 updownselect example</h1> <h2> Favor fast food : <s:property value="favFastFood"/> </h2> <h2> Favor movies : <s:property value="favMovie"/> </h2> </body> </html>
3. struts.xml
すべてのリンク〜
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true"/> <package name="default" namespace="/" extends="struts-default"> <action name="updownSelectAction" class="com.mkyong.common.action.UpDownSelectAction" method="display"> <result name="none">pages/updownselect.jsp</result> </action> <action name="resultAction" class="com.mkyong.common.action.UpDownSelectAction" > <result name="success">pages/result.jsp</result> </action> </package> </struts>
4.デモ
http://localhost:8080/Struts2Example/updownSelectAction.action
オプションを選択し、上下に移動します。
提出すると、すべてのオプションは、それらが整理された順に提出されます。
リファレンス
updownselectの例]。//struts2/struts-2-sdoubleselect-example/