`

SpringMVC中form:select的使用

    博客分类:
  • J2EE
阅读更多
最近使用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表单标签库

    本篇文章将深入探讨Spring MVC中的表单标签库,以及如何在实际项目中使用它们来创建动态、交互式的表单。 1. **表单标签库介绍** Spring MVC的表单标签库是JSP的一部分,它可以生成HTML表单元素,并且能够自动绑定...

    SpringMVC表单标签知识点详解

    在视图中,可以使用SpringMVC提供的表单标签来展示模型中的数据。例如,使用&lt;form:form&gt;标签来定义表单,使用&lt;form:input&gt;标签来定义输入框,使用&lt;form:checkbox&gt;标签来定义复选框等。 二、SpringMVC表单标签的类型...

    SpringMVC表单标签使用详解

    首先,为了在JSP页面中使用SpringMVC的表单标签,我们需要在页面头部引入标签库。这通过在JSP文件中添加以下指令完成: ```jsp &lt;%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %&gt; ``` *...

    eclipse创建springMVC+mybatis项目文档

    - **问题描述**:在 Eclipse 中使用 Tomcat 进行调试时,默认情况下无法找到项目的 WebRoot、WEB-INF 和 web.xml 文件夹,导致项目无法正确部署。 - **解决方案**: - **方法一**:手动在项目目录下创建 WebRoot、...

    SpringMVC实现数据绑定及表单标签

    * form:select:用于渲染下拉框元素 * form:checkbox:用于渲染复选框元素 * form:radiobutton:用于渲染单选框元素 我们可以使用这些标签来实现复杂的表单功能,例如: &lt;form:form modelAttribute="product" ...

    springMVC增改查.zip_springmvc

    在SpringMVC中,我们可以使用`@Service`注解的类来封装业务逻辑,`@Repository`注解的接口来操作数据库。 3. **Controller**:控制器层,用`@Controller`注解的类,接收来自DispatcherServlet的请求,调用业务逻辑...

    springmvc3.0帮助文档

    - **`&lt;form:select&gt;`**:用于创建下拉列表。 这些标签可以自动绑定表单数据到后端对象,极大地提高了开发效率。 #### 支持 RESTful 风格 Spring MVC 3.0 进一步加强了对 RESTful 风格的支持。通过使用 `@...

    springmvc动态切换数据源demo

    在IT行业中,SpringMVC是Spring框架的一部分,用于构建企业级Web应用程序,它提供了一种模型-视图-控制器(MVC)架构模式,帮助开发者更有效地管理前端和后端的交互。动态数据源切换是一种高级特性,允许应用在运行...

    基于springMVC 的restful风格接口前后端使用说明

    在基于SpringMVC的开发框架中,Restful风格的接口设计越来越受到前后端开发者的青睐。Restful接口以其简洁、高效和易于理解的特点,很好地满足了前后端分离的开发模式。本说明将详细介绍如何在SpringMVC环境下设计并...

    SpringMVC注解整合Mybatis和ExtJs5.0

    UUID是全局唯一的,适合在分布式系统中使用。 6. **项目结构与配置**: 项目可能采用了Maven或Gradle等构建工具,管理依赖和构建过程。项目结构通常包含src/main/java(源码)、src/main/resources(资源配置)和...

    jcrop springmvc demo

    通常使用`@RequestParam`注解来处理multipart/form-data类型的请求。 - 存储上传的原始图片到服务器,可以使用Spring的`MultipartFile`接口进行处理。 3. **处理裁剪操作**: - 当用户在前端确定裁剪区域后,发送...

    springmvc级联属性处理无法转换异常问题解决

    在jsp页面中,我们可以使用SpringMVC的标签来实现数据绑定。例如: ```jsp &lt;form:select path="role.id" class="form-control" id="role" items="${roles}" itemLabel="description" itemValue="id" &gt; &lt;/form:...

    Spring MVC---数据绑定和表单标签详解

    要在JSP页面中使用这些标签,首先需要引入`&lt;%@ taglib&gt;`指令,例如: ```jsp &lt;%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %&gt; ``` 下面是一些常用的表单标签: 1. **`&lt;form:input&gt;`*...

    bootstrap select2 动态从后台Ajax动态获取数据的代码

    1. 使用SpringMVC框架中的`@GetMapping("/select2")`定义了处理Ajax请求的接口。 2. 接口返回类型为`@ResponseBody`,意味着返回的数据将直接写入HTTP响应体中。 3. 实现`selectDynamic`方法,该方法将遍历用户列表...

    Spring MVC文件上传下载

    return "Please select a file to upload."; } } ``` 4. **前端表单**:在HTML页面上,使用`enctype="multipart/form-data"`指定表单类型为多部分,添加`&lt;input type="file"&gt;`用于选择文件: ```html &lt;form ...

    spring WEB入门级项目搭建

    在本教程中,我们将深入探讨如何搭建一个基于Spring框架的Web入门级项目,重点是使用Spring MVC和Spring JDBC实现简单的用户登录功能。Spring是一个广泛使用的Java企业级应用框架,而Spring MVC是它的一个核心模块,...

    spring实现文件上传下载

    1. 创建下载控制器:在Controller中定义一个处理文件下载的请求方法,使用`HttpServletResponse`对象来写入文件内容到响应流中: ```java @Controller @RequestMapping("/download") public class ...

    ajax实现分页

    下面将详细介绍如何在SSM(SpringMVC + Spring + MyBatis)框架中利用Ajax来实现自定义分页数据。 #### 一、前端页面设计与实现 在前端部分,我们首先需要构建一个可以触发Ajax请求的功能按钮或链接,并通过...

Global site tag (gtag.js) - Google Analytics