在Struts 2中, <s:updownselect>标记用于创建HTML Select组件,该组件具有用于在Select组件中向上或向下移动按钮的按钮。 提交表单后,所有选择选项都将按照其排列顺序提交。
<s:updownselect>示例
<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选择列表中。
1.动作课
动作类,用于生成和存储选择选项。
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> ”标签渲染上下选择组件。
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
选择选项并向上或向下移动。
提交时,所有选项将按其排列顺序提交。
参考
标签: struts2
翻译自: https://mkyong.com/struts2/struts-2-updownselect-example/