分享

spring mvc中下拉框的复习

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


1)controller:

  
Java代码  收藏代码
  1. @RequestMapping(value="/phone-page")  
  2.     private ModelAndView selectTag() {  
  3.         ModelAndView mav = new ModelAndView("phone-form");  
  4.           
  5.         Map<String, String> phones = new HashMap<String, String>();  
  6.         phones.put("samsung", "SAMSUNG");  
  7.         phones.put("nokia", "NOKIA");  
  8.         phones.put("iphone", "IPHONE");  
  9.           
  10.         mav.addObject("phonesMap", phones);  
  11.         mav.addObject("smartphone", new Smartphone());  
  12.           
  13.         return mav;  
  14.     }  


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

Java代码  收藏代码
  1. Select phone:  
  2. <form:form method="POST" commandName="smartphone" action="phone-result.html">  
  3. <table>  
  4.     <tr>  
  5.     <td>  
  6.         [list]  
  7.             <form:select path="phone" items="${phonesMap}"/>  
  8.         [/list]  
  9.     </td>  
  10.     </tr>  
  11.     <tr>  
  12.         <td>  
  13.             <input type="submit" value="Submit"/>  
  14.         </td>  
  15.     </tr>  
  16. </table>    
  17. </form:form>  


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

  
Java代码  收藏代码
  1. @RequestMapping(value="/phone-result")  
  2.     private ModelAndView processPhone(@ModelAttribute Smartphone smartphone) {  
  3.         ModelAndView mav = new ModelAndView("phone-result");  
  4.         mav.addObject("smartphone", smartphone);          
  5.         return mav;  
  6.     }  

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


2) 第2种方法是在JSP页面中硬编码下拉选项,如:
  
Java代码  收藏代码
  1. <form:form method="POST" commandname="smartphone" action="phone-result.html">  
  2. <table>  
  3.     <tbody><tr>  
  4.     <td>  
  5.         [list]  
  6.             <form:select path="phone">  
  7.                 <form:option value="samsung">SAMSUNG</form:option>  
  8.                 <form:option value="nokia">NOKIA</form:option>  
  9.                 <form:option selected="selected" value="htc">HTC</form:option>  
  10.                 <form:option value="iphone">IPHONE</form:option>  
  11.             </form:select>  
  12.         [/list]  
  13.     </td>  
  14.     </tr>  
  15.     <tr>  
  16.         <td>  
  17.             <input value="Submit" type="submit">  
  18.         </td>  
  19.     </tr>  
  20. </tbody></table>    
  21. </form:form>  

  
   当然呈现这个jsp的控制层为:
 
Java代码  收藏代码
  1. @RequestMapping(value="/phone-option-page")  
  2.     private ModelAndView optionTag() {        
  3.         return new ModelAndView("phone-option-form", "smartphone", new Smartphone());  
  4.     }  



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

控制器方法:
  
Java代码  收藏代码
  1. @RequestMapping(value="/phone-options-page")  
  2.     private ModelAndView optionsTag() {  
  3.         ModelAndView mav = new ModelAndView("phone-options-form");  
  4.   
  5.         Map< String, String > phones = new HashMap();  
  6.         phones.put("samsung", "SAMSUNG");  
  7.         phones.put("nokia", "NOKIA");  
  8.         phones.put("iphone", "IPHONE");  
  9.         phones.put("bberry", "BLACKBERRY");  
  10.         phones.put("htc", "HTC");  
  11.   
  12.         mav.addObject("phonesMap", phones);  
  13.         mav.addObject("smartphone", new Smartphone());  
  14.   
  15.         return mav;  
  16.     }  


  注意页面JSP为:
 
Java代码  收藏代码
  1. Select phone:  
  2. <form:form method="POST" commandname="smartphone" action="phone-result.html">  
  3. <table>  
  4.     <tbody><tr>  
  5.     <td>  
  6.         [list]  
  7.             <form:select path="phone">  
  8.                 <form:option value="-" label="--Select phone">  
  9.                 <form:options items="${phonesMap}">  
  10.             </form:options></form:option></form:select>  
  11.         [/list]  
  12.     </td>  
  13.     </tr>  
  14.     <tr>  
  15.         <td>  
  16.             <input value="Submit" type="submit">  
  17.         </td>  
  18.     </tr>  
  19. </tbody></table>    
  20. </form:form>  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多