博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring MVC-表单(Form)标签-下拉框(Dropdown)示例(转载实践)
阅读量:6717 次
发布时间:2019-06-25

本文共 7304 字,大约阅读时间需要 24 分钟。

以下内容翻译自:

说明:示例基于Spring MVC 4.1.6

以下示例显示如何使用Spring Web MVC框架在表单中使用Dropdown。首先,让我们使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态窗体的Web应用程序:

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

User.java

package com.tutorialspoint;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.tutorialspoint;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对象中传递了一个空的User对象,因为如果您在JSP中使用<form:form>标签,Spring框架将期望一个名为“command”的对象文件。所以当user()方法被调用时,它返回user.jsp视图。

将在HelloWeb/addUser URL上针对POST方法调用第二个服务方法addUser()。您将根据提交的信息准备您的模型对象。最后,将从服务方法返回“user”视图,这将导致渲染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内容。

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 File选项,并将您的HelloWeb.war文件保存在Tomcat的webapps文件夹中。

现在启动您的Tomcat服务器,并确保您可以使用标准浏览器从webapps文件夹访问其他网页。现在尝试URL http://localhost:8080/HelloWeb/user,如果您的Spring Web应用程序的一切都很好,您应该会看到以下结果:

提交所需信息后,点击提交按钮提交表单。如果您的Spring Web应用程序的一切都很好,您应该会看到以下结果:

Maven示例:

==>如有问题,请联系我:easonjim#163.com,或者下方发表评论。<==

转载地址:http://fqumo.baihongyu.com/

你可能感兴趣的文章
疯狂Spring Cloud连载(14)Spring Cloud整合Feign
查看>>
assert用于PHP的debug
查看>>
基于TF-IDF算法抽取文章关键词
查看>>
ELK搭建-基于自制docker镜像
查看>>
字符编码笔记:ASCII,Unicode和UTF-8
查看>>
Oracle中表的四种连接方式讲解
查看>>
linux系统中readline的实现
查看>>
Linux下的ping命令
查看>>
JAVA使用JDOM创建简单xml
查看>>
mac 上安装 Android SDK
查看>>
angular 1.x select 默认选中
查看>>
input accept属性限制文件上传格式
查看>>
JQuery扩展:TextArea在光标处插入文本
查看>>
支付宝接口使用文档说明 支付宝异步通知
查看>>
前端基础快速学习-Dom
查看>>
Java面向对象深入篇 (二)
查看>>
Hibernate get 和 load方法区别
查看>>
企业实施云ERP软件需注意哪些关键问题
查看>>
poj 2752 Seek the Name, Seek the Fame
查看>>
spring的注解注入
查看>>