struts2——s:select标签!!!
2010-10-21 10:17
260 查看
struts2 UI标签的缺点:
1)struts2会自动给ui标签加上样式,要改变它非常麻烦。
2)struts2的ui标签和javascript结合不是很好。
3)有些ui标签存在bug和很多怪异的想象,不好调试和控制。
struts2的ui标签有四种主题(theme):simple,xhtml(默认),css_xhtml,ajax。
Simple主题是不带样式的,一般使用它。
select:
(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。
(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。其中,即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。
(3)list属性,通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。
(4)listKey即对应于select标签中的value, listValue即对应于select标签中的option。
(5)name属性,即是表单中select的name。id属性,即是表单中select的id。
下面是一个例子:
action类
dto类
jsp:
html源码:
效果
1)struts2会自动给ui标签加上样式,要改变它非常麻烦。
2)struts2的ui标签和javascript结合不是很好。
3)有些ui标签存在bug和很多怪异的想象,不好调试和控制。
struts2的ui标签有四种主题(theme):simple,xhtml(默认),css_xhtml,ajax。
Simple主题是不带样式的,一般使用它。
select:
(1)struts2中的select 标签中,必须设置的属性只有一个,即是list。
(2)select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。其中,即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。
(3)list属性,通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。
(4)listKey即对应于select标签中的value, listValue即对应于select标签中的option。
(5)name属性,即是表单中select的name。id属性,即是表单中select的id。
下面是一个例子:
action类
import java.util.HashMap; import java.util.Map; import java.util.Vector; import com.opensymphony.xwork2.ActionSupport; public class UIAction extends ActionSupport { private Vector vector; private Map map; public String execute() throws Exception { UserInfo u1 = new UserInfo("1", "张三"); UserInfo u2 = new UserInfo("2", "李四"); UserInfo u3 = new UserInfo("3", "王五"); vector = new Vector(); vector.add(u1); vector.add(u2); vector.add(u3); map = new HashMap(); map.put("101", "小张"); map.put("102", "小李"); map.put("103", "小王"); return "success"; } public Map getMap() { return map; } public void setMap(Map map) { this.map = map; } public Vector getVector() { return vector; } public void setVector(Vector vector) { this.vector = vector; } }
dto类
public class UserInfo { private String userno; private String username; public UserInfo() {} public UserInfo(String userno, String username) { this.userno = userno; this.username = username; } public String getUserno() { return userno; } public void setUserno(String userno) { this.userno = userno; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
jsp:
<s:select id="vectorid" name="vectorname" list="vector" listKey="userno" listValue="username" headerKey="-1" headerValue="请选择" /> <hr/> <s:select id="mapid" name="mapname" list="map" listKey="key" listValue="value" headerKey="-1" headerValue="请选择" />
html源码:
<select name="vectorname" id="vectorid"> <option value="-1">请选择</option> <option value="1">张三</option> <option value="2">李四</option> <option value="3">王五</option> </select> <select name="mapname" id="mapid"> <option value="-1">请选择</option> <option value="103">小王</option> <option value="102">小李</option> <option value="101">小张</option> </select>
效果
相关文章推荐
- jsp 开发之struts2中s:select标签的使用
- struts2中s:select标签的使用
- struts2中s:select标签在freemarker中的使用
- struts2中<s:doubleselect/>标签的使用<转>
- Struts2标签-select实用方法
- struts2 标签s:select在table中单行显示
- struts2中<s:doubleselect/>标签的使用(转)
- struts2中s:select标签的使用
- struts2中<s:select>标签从前后台的取值
- struts2 <s:select>标签,验证错误后,select值丢失的问题
- 用struts2标签动态生成下拉选择框,比s:select更灵活的方式
- struts2 select标签
- struts2中s:select标签的使用
- struts2和struts1中select标签的使用
- struts2中<s:doubleselect/>标签的使用(转)
- struts2中s:select标签的使用
- Struts2 select标签的使用
- struts2如何实现select标签和doubleselect标签
- 【转】struts2中s:select标签从前后台的取值
- Struts2标签之select的使用方法