其實以前我對Java的Struts框架沒有具體認識,通過這篇文章,真的讓我了解了框架的用處,好處。
下拉框在Web開發中經常會使用到,下面我們通過struts2的標籤來實現下拉框的一些功能。
先來看看<s:select>的一些參數:
注: listKey相當於HTML中的value值,我們是通過它的值來和後台進行交互的。
案例:用戶選擇了自己的偶像,然後要對其進行修改,跳轉到修改界面之後,要回顯用戶最初選擇的偶像。
用戶偶像界面(假設用戶當前的選擇為"習近平"):
<form action="selectAction.action" method="post"> 您的偶像為:<s:select list="#{1:'鄧小平',2:'胡錦濤',3:'習近平',4:'李克強'}" name="id" listKey="key" listValue="value"/> <input type="submit" value="我要修改"> </form> </body>注:list使用OGNL創建的Map集合。
action代碼:
public class SelectAction extends ActionSupport {private static final long serialVersionUID = 1L;/*用戶所選的偶像的id*/private String id;/*偶像集合*/private List<User> users;public String getId() {return id;}public void setId(String id) {this.id = id;}public List<User> getUsers() {return users;}public void setUsers(List<User> users) {this.users = users;}public String execute(){/*創建一個集合模擬從數據庫中查出所有的用戶*/users = new ArrayList<User>();users.add(new User(1, "鄧小平"));users.add(new User(2, "胡錦濤"));users.add(new User(3, "習近平"));users.add(new User(4, "李克強"));/*把所有的用戶存在OGNL Context上下文中*/ActionContext.getContext().put("users", users);//注:這裡並不需要把用戶所選的值存起來,因為我們的id屬性就是用戶所選的值, //作為action的屬性,它已經保存到值棧中去了,可以直接根據屬性名id來獲取return this.SUCCESS;}}javaBean對象:
public class User {/* 用戶id */private Integer uid;/* 用戶名*/private String uname;/* 無參構造函數*/public User() {}/* 構造函數*/public User(Integer uid, String uname) {this.uid = uid;this.uname = uname;}public Integer getUid() {return uid;}public void setUid(Integer uid) {this.uid = uid;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}}修改界面:
<body> 您的偶像為: <s:select list="#users" listKey="uid" listValue="uname" value="id" /> </body>
注: value值只寫了一個id(用戶所選偶像的id)屬性名稱,是因為它是action中的屬性,action中的屬性會被保存到值棧中,所以可以直接獲取。
第一次體會到框架的好處,見識淺陋,勿怪。 。
以上就是本文關於Struts2下拉框實例解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!