spring mvc中下拉框的复习

spring mvc中下拉框,其实是很简单的了,但简单的东西还是应该多复习,这次来复习下.


1)controller:


@RequestMapping(value="/phone-page")
private ModelAndView selectTag() {
ModelAndView mav = new ModelAndView("phone-form");

Map<String, String> phones = new HashMap<String, String>();
phones.put("samsung", "SAMSUNG");
phones.put("nokia", "NOKIA");
phones.put("iphone", "IPHONE");

mav.addObject("phonesMap", phones);
mav.addObject("smartphone", new Smartphone());

return mav;
}


这里其实用HashMap去装载下拉列表,然后放到modelandview中去,然后前端的页面jsp



Select phone:
<form:form method="POST" commandName="smartphone" action="phone-result.html">
<table>
<tr>
<td>
[list]
<form:select path="phone" items="${phonesMap}"/>
[/list]
</td>
</tr>
<tr>
<td>
<input type="submit" value="Submit"/>
</td>
</tr>
</table>
</form:form>


这里的submit演示了选择某个选项后,提交到phone-result这个方法控制器中,
控制器中的方法代码为:


@RequestMapping(value="/phone-result")
private ModelAndView processPhone(@ModelAttribute Smartphone smartphone) {
ModelAndView mav = new ModelAndView("phone-result");
mav.addObject("smartphone", smartphone);
return mav;
}

可以看到<form:form method="POST" commandName="smartphone" action="phone-result.html">,而接受的参数中,用@ModelAttribute Smartphone smartphone接收住了.


2) 第2种方法是在JSP页面中硬编码下拉选项,如:

<form:form method="POST" commandname="smartphone" action="phone-result.html">
<table>
<tbody><tr>
<td>
[list]
<form:select path="phone">
<form:option value="samsung">SAMSUNG</form:option>
<form:option value="nokia">NOKIA</form:option>
<form:option selected="selected" value="htc">HTC</form:option>
<form:option value="iphone">IPHONE</form:option>
</form:select>
[/list]
</td>
</tr>
<tr>
<td>
<input value="Submit" type="submit">
</td>
</tr>
</tbody></table>
</form:form>



当然呈现这个jsp的控制层为:

@RequestMapping(value="/phone-option-page")
private ModelAndView optionTag() {
return new ModelAndView("phone-option-form", "smartphone", new Smartphone());
}




3 最后一个看<form:options>的用法

控制器方法:

@RequestMapping(value="/phone-options-page")
private ModelAndView optionsTag() {
ModelAndView mav = new ModelAndView("phone-options-form");

Map< String, String > phones = new HashMap();
phones.put("samsung", "SAMSUNG");
phones.put("nokia", "NOKIA");
phones.put("iphone", "IPHONE");
phones.put("bberry", "BLACKBERRY");
phones.put("htc", "HTC");

mav.addObject("phonesMap", phones);
mav.addObject("smartphone", new Smartphone());

return mav;
}



注意页面JSP为:

Select phone:
<form:form method="POST" commandname="smartphone" action="phone-result.html">
<table>
<tbody><tr>
<td>
[list]
<form:select path="phone">
<form:option value="-" label="--Select phone">
<form:options items="${phonesMap}">
</form:options></form:option></form:select>
[/list]
</td>
</tr>
<tr>
<td>
<input value="Submit" type="submit">
</td>
</tr>
</tbody></table>
</form:form>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值