关于struts标签<s:select/>的问题,大家帮个忙

hbqhs 2010-10-19 08:20:28
struts标签的下拉框怎么设置默认值呢? 就是原来html标签option里的selected属性,struts标签里就没有了,怎么办?

还有,大家一般是习惯把下拉框里的值装在List里还是装在Map里呢?


我在循环将年龄放入Map里之后在页面下拉框里显示出来的数字顺序是乱的,用List就不乱,这是怎么回事?


PS:我是用最普通的for循环加进去的:
for (int i = 1; i <120; i++) {
age.put(i-1, i);
}
...全文
302 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hncdyj 2010-10-25
既然是用的Struts,就应该就要用Action从数据库中取数据。
导入头文件
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
遍历
<html:select property="subject.subType">//绑定到对象的哪个属性
<html:options collection="TitleType" property="dictoryNo" labelProperty="dictoryName" />第一个参数 绑定哪个集合 第二个参数 向服务器提交的值 第三个参数
界面上面显示的项
</html:select>
回复
hbqhs 2010-10-25
[Quote=引用 4 楼 yangfeihu 的回复:]
PS:我是用最普通的for循环加进去的:
for (int i = 1; i <120; i++) {
age.put(i-1, i);
}
那么
value={0,1} 就默认第一个,第二个 选中..
[/Quote]


什么意思? 看不懂
回复
redlotus_lyn 2010-10-22
1.设置默认值:

通过标签的value属性即可。

<s:select list="#{'1':'男','2':'女'}" name="sex" value="2" headerKey="" headerValue="--选择--" />

如果在Action中定义 private String sex; sex有get/set方法,请求从为/xxx.action迁移到jsp的话,不用写value, 通过标签name属性自动会设置成默认值。

<s:select list="#{'1':'男','2':'女'}" name="sex" headerKey="" headerValue="--选择--" />

2.Map类型,数字顺序乱的问题:

也可以让它不乱,用LinkedHashMap。
回复
hanyue198528 2010-10-21
下拉框的判断有很多种
最笨的办法是循环的时候判断
循环液可以用标签<c:forEach> 或者<s:iterator>
<c:if test="${a==b}"/>判断设置默认selected="selected"
struts标签里有
<s:select list="" headerKey="" headerValue="">

</s:select>
看单词不难猜出是什么
还有struts里可以用html的标签
最好写个公用jsp
把所有标签写进去
在其他页面只需要引入此页面
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="b" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="h" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="l" %>
<%@ taglib uri="/struts-tags" prefix="s" %>
回复
yangfeihu 2010-10-21
PS:我是用最普通的for循环加进去的:
for (int i = 1; i <120; i++) {
age.put(i-1, i);
}
那么
value={0,1} 就默认第一个,第二个 选中..
回复
liujie616 2010-10-21
value属性
回复
hbqhs 2010-10-21
[Quote=引用 1 楼 ftylovewyt 的回复:]
有个headerkey 和 headervalues属性。一般情况下用map比较好
[/Quote]

headerkey 和 headervalues 一般是怎么用的? 如果我想指定select中一个值为默认值的话
回复
ftylovewyt 2010-10-19
有个headerkey 和 headervalues属性。一般情况下用map比较好
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-19 08:20
社区公告
暂无公告