关于struts标签的问题,大家帮个忙

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);
}
...全文
360 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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比较好

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧