您好,登錄后才能下訂單哦!
小編給大家分享一下Struts2如何實現下拉框,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
下拉框在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如何實現下拉框”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。