spring mvc标签select 设置默认值



 最近在用spring mvc标签中遇到些问题,很多网上的思路文不对题。
现就form:select设置默认值做一记录。
一、前端jsp语法如下:
<form:select path="papermode" items="${papermodeList}"  itemValue="key1" itemLabel="val1" />

上面的语法含义为,列表显示papermode(”试卷模式" ,papermode 为属性名称);${papermodeList}为后台获取的papermode对象列表(其实papermode 仅是名称,对象实际上为Config,其属性为{key1,val1...},此处很奇妙,Config对象并未直接出现;itemValue="key1" ,表示select 中option的值为config.key1的实际值;itemLabel="val1",则表示option中显示的值。

  生成的结果如下:         

<select id="papermode" name="papermode">
           <option value="single" selected="selected">一套试卷</option>
           <option value="ab">AB卷</option>
  </select>

二、后台代码

 @RequestMapping(value = "/exam_man")
 public String exam_man(@ModelAttribute("examproject") T_examproject examproject,HttpSession session, Model model) {
  ConfigModule cm = new ConfigModule("OA","考试出题方式");
  model.addAttribute("papermodeList",cm.getConfigdetailList());
  examproject.setPapermode("single");

return "/exam/exam_man";

 }

 我在下面做个图示

 

 三、还有一步,JSP的FORM

 <form:form id="fm"  method="post"  modelAttribute="examproject" >

    在spring mvc 中 modelAttribute是少不了的 其中modelAttribute="examproject" 就是为了使用后台辛苦准备的@ModelAttribute("examproject") T_examproject examproject  数据。然后你就可以使用<form:textarea path="title"  rows="3" cols="48"/>这些东东,有值就显示,无值则请你录入。

四、注意事项

   见到很多例题

  1. 如 Map<Integer, String> ballMap = new HashMap<Integer, String>();  
  2.    ballMap.put(1"篮球");  
  3.    ballMap.put(2"足球");  
  4.    ballMap.put(3"乒乓球");  
  5.    ballMap.put(4"羽毛球");  
  6.    ballMap.put(5"排球");  
  7.    map.put("ballMap", ballMap);  

   其中  ballMap是简单对象(List<String>),不好用,还要专门准备数据或修改格式。你可以参见我的方法,直接放入复杂对象List,然后在itemValue,itemLabel直接写入参数的名值即可,但不清楚是否可以嵌套复杂对象。呵呵。再次声明,我的itemValue 的key1是Config的属性,在这里Config并没有直接出现。

 

    spring mvc 标签库语法参见
http://docs.spring.io/spring/docs/2.0.x/reference/spring-form.tld.html#spring-form.tld.options

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值