最近使用Spring MVC的多,发下在Spring MVC下如何方便的使用下拉列表吧,其实还有其他好多功能,不过我就不一一说明了,大家到直接查看官方手册就能明白:
下面是我的Controller类:
package com.vito16.mvc1.controller;
import java.util.ArrayList;
import java.util.List;
import javax.validation.Valid;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import com.vito16.mvc1.model.User;
/**
* @author Vito16 zhouwentao16@gmail.com
* @date 2013-7-8
*
*/
@Controller
@RequestMapping("/user")
public class UserController {
private static final Log logger = LogFactory.getLog(UserController.class);
@RequestMapping(method = RequestMethod.GET)
public String index() {
return "user/index";
}
@RequestMapping("/list")
public ModelAndView listUser(ModelAndView model) {
List<User> userList = new ArrayList<User>();
User user1 = new User();
user1.setUsername("测试用户1");
user1.setPassword("123");
user1.setId(1);
userList.add(user1);
User user2 = new User();
user2.setUsername("测试用户2");
user2.setPassword("123");
user2.setId(2);
userList.add(user2);
User user3 = new User();
user3.setUsername("测试用户3");
user3.setPassword("12333");
user3.setId(3);
userList.add(user3);
User user = new User(2,null,null);
model.addObject(userList).addObject(user);
return model;
}
@RequestMapping("/new")
public User newUser() {
User user = new User();
user.setUsername("请填写用户名");
user.setPassword("");
return user;
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String add(@Valid User user, BindingResult result) {
if (result.hasErrors()) {
logger.error("Java Bean 没有通过验证");
for (ObjectError or : result.getAllErrors()) {
logger.warn("验证类型:" + or.getCode() + " \t错误消息:"
+ or.getDefaultMessage());
}
return "user/new";
}
logger.info("后台成功添加用户:" + user);
return "redirect:/user";
}
}
然后页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>用户选择</title>
</head>
<body>
用户列表
<form:select path="user.id" items="${userList}" itemLabel="username"
itemValue="id"></form:select>
</body>
</html>
完整例子,看附件,使用Maven管理依赖
分享到:
相关推荐
本篇文章将深入探讨Spring MVC中的表单标签库,以及如何在实际项目中使用它们来创建动态、交互式的表单。 1. **表单标签库介绍** Spring MVC的表单标签库是JSP的一部分,它可以生成HTML表单元素,并且能够自动绑定...
在视图中,可以使用SpringMVC提供的表单标签来展示模型中的数据。例如,使用<form:form>标签来定义表单,使用<form:input>标签来定义输入框,使用<form:checkbox>标签来定义复选框等。 二、SpringMVC表单标签的类型...
首先,为了在JSP页面中使用SpringMVC的表单标签,我们需要在页面头部引入标签库。这通过在JSP文件中添加以下指令完成: ```jsp <%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %> ``` *...
- **问题描述**:在 Eclipse 中使用 Tomcat 进行调试时,默认情况下无法找到项目的 WebRoot、WEB-INF 和 web.xml 文件夹,导致项目无法正确部署。 - **解决方案**: - **方法一**:手动在项目目录下创建 WebRoot、...
* form:select:用于渲染下拉框元素 * form:checkbox:用于渲染复选框元素 * form:radiobutton:用于渲染单选框元素 我们可以使用这些标签来实现复杂的表单功能,例如: <form:form modelAttribute="product" ...
在SpringMVC中,我们可以使用`@Service`注解的类来封装业务逻辑,`@Repository`注解的接口来操作数据库。 3. **Controller**:控制器层,用`@Controller`注解的类,接收来自DispatcherServlet的请求,调用业务逻辑...
- **`<form:select>`**:用于创建下拉列表。 这些标签可以自动绑定表单数据到后端对象,极大地提高了开发效率。 #### 支持 RESTful 风格 Spring MVC 3.0 进一步加强了对 RESTful 风格的支持。通过使用 `@...
在IT行业中,SpringMVC是Spring框架的一部分,用于构建企业级Web应用程序,它提供了一种模型-视图-控制器(MVC)架构模式,帮助开发者更有效地管理前端和后端的交互。动态数据源切换是一种高级特性,允许应用在运行...
在基于SpringMVC的开发框架中,Restful风格的接口设计越来越受到前后端开发者的青睐。Restful接口以其简洁、高效和易于理解的特点,很好地满足了前后端分离的开发模式。本说明将详细介绍如何在SpringMVC环境下设计并...
UUID是全局唯一的,适合在分布式系统中使用。 6. **项目结构与配置**: 项目可能采用了Maven或Gradle等构建工具,管理依赖和构建过程。项目结构通常包含src/main/java(源码)、src/main/resources(资源配置)和...
通常使用`@RequestParam`注解来处理multipart/form-data类型的请求。 - 存储上传的原始图片到服务器,可以使用Spring的`MultipartFile`接口进行处理。 3. **处理裁剪操作**: - 当用户在前端确定裁剪区域后,发送...
在jsp页面中,我们可以使用SpringMVC的标签来实现数据绑定。例如: ```jsp <form:select path="role.id" class="form-control" id="role" items="${roles}" itemLabel="description" itemValue="id" > </form:...
要在JSP页面中使用这些标签,首先需要引入`<%@ taglib>`指令,例如: ```jsp <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> ``` 下面是一些常用的表单标签: 1. **`<form:input>`*...
1. 使用SpringMVC框架中的`@GetMapping("/select2")`定义了处理Ajax请求的接口。 2. 接口返回类型为`@ResponseBody`,意味着返回的数据将直接写入HTTP响应体中。 3. 实现`selectDynamic`方法,该方法将遍历用户列表...
return "Please select a file to upload."; } } ``` 4. **前端表单**:在HTML页面上,使用`enctype="multipart/form-data"`指定表单类型为多部分,添加`<input type="file">`用于选择文件: ```html <form ...
在本教程中,我们将深入探讨如何搭建一个基于Spring框架的Web入门级项目,重点是使用Spring MVC和Spring JDBC实现简单的用户登录功能。Spring是一个广泛使用的Java企业级应用框架,而Spring MVC是它的一个核心模块,...
1. 创建下载控制器:在Controller中定义一个处理文件下载的请求方法,使用`HttpServletResponse`对象来写入文件内容到响应流中: ```java @Controller @RequestMapping("/download") public class ...
下面将详细介绍如何在SSM(SpringMVC + Spring + MyBatis)框架中利用Ajax来实现自定义分页数据。 #### 一、前端页面设计与实现 在前端部分,我们首先需要构建一个可以触发Ajax请求的功能按钮或链接,并通过...