开发手册 欢迎您!
软件开发者资料库

Spring MVC - 下拉示例

Spring MVC Dropdown示例 - 从简单和简单的步骤学习Java Spring Framework 4.1.6版,从基本概念到高级概念,包括概述,环境设置,控制反转(IoC),依赖注入,bean范围,bean生命周期,内部bean,自动装配,不同模块,面向方面编程(AOP),数据库访问(JDBC),事务管理,Web MVC框架,Web流,异常处理,EJB集成和发送电子邮件等。

以下示例描述了如何使用Spring Web MVC框架在表单中使用Dropdown.首先,让我们使用一个有效的Eclipse IDE,并坚持以下步骤,使用Spring Web Framework开发基于动态表单的Web应用程序.

Step描述
1在com.it1352包下创建一个名为HelloWeb的项目,如Spring MVC  -  Hello World章.
2在com.it1352包下创建Java类User,UserController.
3在jsp子文件夹下创建视图文件user.jsp,users.jsp.
4最后一步是创建源文件和配置文件的内容并导出应用程序,如下所述.

User.java

package com.it1352; public class User {   private String username;   private String password;   private String address;   private boolean receivePaper;   private String [] favoriteFrameworks;      private String gender;   private String favoriteNumber;   private String country;      public String getUsername() {      return username;   }   public void setUsername(String username) {      this.username = username;   }   public String getPassword() {      return password;   }   public void setPassword(String password) {      this.password = password;   }   public String getAddress() {      return address;   }   public void setAddress(String address) {      this.address = address;   }   public boolean isReceivePaper() {      return receivePaper;   }   public void setReceivePaper(boolean receivePaper) {      this.receivePaper = receivePaper;   }   public String[] getFavoriteFrameworks() {      return favoriteFrameworks;   }   public void setFavoriteFrameworks(String[] favoriteFrameworks) {      this.favoriteFrameworks = favoriteFrameworks;   }   public String getGender() {      return gender;   }   public void setGender(String gender) {      this.gender = gender;   }   public String getFavoriteNumber() {      return favoriteNumber;   }   public void setFavoriteNumber(String favoriteNumber) {      this.favoriteNumber = favoriteNumber;   }   public String getCountry() {      return country;   }   public void setCountry(String country) {      this.country = country;   }}

UserController.java

package com.it1352; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;import org.springframework.ui.ModelMap;@Controllerpublic class UserController {   @RequestMapping(value = "/user", method = RequestMethod.GET)   public ModelAndView user() {      User user = new User();    user.setFavoriteFrameworks((new String []{"Spring MVC","Struts 2"}));      user.setGender("M");  ModelAndView modelAndView = new ModelAndView("user", "command", user);  return modelAndView;   }   @RequestMapping(value = "/addUser", method = RequestMethod.POST)   public String addUser(@ModelAttribute("SpringWeb")User user,       ModelMap model) {      model.addAttribute("username", user.getUsername());      model.addAttribute("password", user.getPassword());      model.addAttribute("address", user.getAddress());      model.addAttribute("receivePaper", user.isReceivePaper());  model.addAttribute("favoriteFrameworks", user.getFavoriteFrameworks());      model.addAttribute("gender", user.getGender());      model.addAttribute("favoriteNumber", user.getFavoriteNumber());      model.addAttribute("country", user.getCountry());           return "users";   }      @ModelAttribute("webFrameworkList")   public List getWebFrameworkList() {      List webFrameworkList = new ArrayList();      webFrameworkList.add("Spring MVC");      webFrameworkList.add("Struts 1");      webFrameworkList.add("Struts 2");      webFrameworkList.add("Apache Wicket");      return webFrameworkList;   }      @ModelAttribute("numbersList")   public List getNumbersList() {      List numbersList = new ArrayList();      numbersList.add("1");      numbersList.add("2");      numbersList.add("3");      numbersList.add("4");      return numbersList;   }   @ModelAttribute("countryList")   public Map getCountryList() {      Map countryList = new HashMap();      countryList.put("US", "United States");      countryList.put("CH", "China");      countryList.put("SG", "Singapore");      countryList.put("MY", "Malaysia");      return countryList;   }}

这里,对于第一种服务方法 user(),我们已经通过了名为"command"的ModelAndView对象中的空白用户对象,因为如果您使用< form:form>,则spring框架需要名为"command"的对象. JSP文件中的标记.因此,当调用 user()方法时,它会返回 user.jsp 视图.

第二种服务方法将对 HelloWeb/addUser URL上的POST方法调用addUser().您将根据提交的信息准备模型对象.最后,将从service方法返回"users"视图,这将导致呈现users.jsp.

user.jsp

<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%>         Spring MVC Form Handling         

User Information

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
User Name
Age
Address
Subscribe Newsletter
Favorite Web Frameworks
Gender                                                   
Favorite Number                                         
Country                                                                                                  
           

在这里,我们使用< form:select/> ,< form:option/> < form:options/> 标记以呈现HTML选择.例如 :

      

它将呈现以下HTML内容.

   Select   United States   China   Malaysia   Singapore

users.jsp

<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%>         Spring MVC Form Handling            

Submitted User Information

                                                                                                                                                                                                                                                                                                                                                                                    
Username${username}
Password${password}
Address${address}
Subscribed to Newsletter${receivePaper}
Favorite Web Frameworks <% String[] favoriteFrameworks = (String[])request.getAttribute("favoriteFrameworks");               for(String framework: favoriteFrameworks) {                  out.println(framework);               }            %>
Gender${(gender=="M"? "Male" : "Female")}
Favourite Number${favoriteNumber}
Country${country}
     

完成创建源文件和配置文件后,导出应用程序.右键单击您的应用程序,使用 Export →  WAR文件选项并将您的HelloWeb.war文件保存在Tomcat的webapps文件夹中.

现在,启动Tomcat服务器并确保您能够使用webapps文件夹访问其他网页标准浏览器.尝试使用URL  -   http://localhost:8080/HelloWeb/user ,如果Spring Web Application的一切正常,我们将看到以下屏幕.

Spring下拉表单

提交所需信息后,单击"提交"按钮提交表单.如果你的Spring Web应用程序一切正常,你应该看到以下屏幕.

Spring下拉表单结果