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

Spring MVC - Checkboxes示例

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

以下示例说明如何使用Spring Web MVC框架在表单中使用多个复选框.首先,让我们使用一个有效的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;      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;   }}

UserController.java

package com.it1352; import java.util.ArrayList;import java.util.List;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"}));  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());      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;   }}

这里,对于第一种服务方法 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
           

在这里,我们使用< form:checkboxes/> 标记来呈现HTML复选框.

它将呈现以下HTML内容.

      Spring MVC      Struts 1      Struts 2      Apache Wicket

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);            }            %>
     

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

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

Spring Checkboxes Form

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

弹出复选框表单结果