`
Inmethetiger
  • 浏览: 108499 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring mvc表单标签和@ModelAttribute

阅读更多

 首发地址:http://inmethetiger.iteye.com/blog/1682586

 最近没什么时间看spring。刚刚逛博客,发现一个写ModelAttribute的博客。很简单。而我对这个标签没使用过。所以,试着写了一下。这个主要是用来干什么的,不清楚。先写在这里再说。

目录结构如下:

src

  --org.spring.controller

UserController.java

  --org.spring.model

User.java

WebContent

    WEB-INF

  --view

    login.jsp

    user.jsp

    index.jsp

//其他web.xml.dispatchserlet.xml略

代码如下:

 模型类:

package org.spring.model;

public class User {

	private String username;
	private String password;
	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;
	}
	
	
}

 

控制器:

 

package org.spring.controller;

import java.util.Map;

import org.spring.model.User;
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;

@Controller
public class UserController {

	@RequestMapping(value = "/show.do")
	public String show(@ModelAttribute("user") User user,
			Map<String, Object> model) {
		model.put("user", user);
		return "user";
	}

	// 我们不能直接访问使用Spring表单标签的JSP页面,要先通过controller处理modelAttribute和表单标签的绑定才能访问

	@RequestMapping(value="/login.do",method=RequestMethod.GET)
	public String login(Map model) {
		User user = new User();
		model.put("user", user);
		return "login";
	}
}

 

配置文件。因为采用的注解。所以很简单

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

	<context:annotation-config></context:annotation-config>
	<context:component-scan base-package="org.spring.controller"></context:component-scan>


	<bean id="defaultViewResover"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/view/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>



</beans>

 

登录页面。刚开始把他放到WebContext下。但是,报错。说是没有WebApplicationContext。(我没有配置这个东西。)所以,把他放到view下。然后通过index.jsp的forward方法,跳转到这个页面

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ page import="org.spring.model.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录</title>
</head>
<body>
	<form:form modelAttribute="user" method="POST" action="show.do">
		<table>
			<tr>
				<td>用户名</td>
				<td><form:input path="username" /></td>
			</tr>
			<tr>
				<td><form:input path="password" /></td>
			</tr>
			<tr>
				<td>密码</td>
				<td><input type="submit" value="O K"></td>
			</tr>
		</table>
	</form:form>
</body>
</html>

 

显示页面。到今天才知道,想要用jstl标签库。除了一个jstl.jar外还需要一个standard.jar。查看了一下。貌似jstl.jar是一套接口,而standard.jar则是实现该接口的类。而且http://java.sun.com/jsp/jstl/core没有在jstl.jar中存在,而是在standard.jar中存在

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; utf-8">
<title>Insert title here</title>
</head>
<body>name=${user.username},password=${user.password}
</body>
</html>

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>LOGIN</title>
</head>
<body>
<jsp:forward page="login.do"></jsp:forward>	
</body>
</html>
 

  一些介绍ModelAttribute的资料

[@Controller]4 详解@ModelAttribute

http://blog.sina.com.cn/s/blog_6d3c1ec601017q4p.html

 

 Spring3MVC 在JSP中使用@ModelAttribute

http://liukai.iteye.com/blog/973717

 

http://wangwengcn.iteye.com/blog/1677024

0
2
分享到:
评论

相关推荐

    spring mvc中的@ModelAttribute注解示例介绍

    在Spring mvc中,注解@ModelAttribute是一个非常常用的注解,下面这篇文章主要给大家介绍了关于spring mvc中@ModelAttribute注解的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。

    Spring MVC 之@ModelAttribute使用.rar

    Spring MVC 之@ModelAttribute使用.rar

    spring mvc中注解@ModelAttribute的妙用分享

    主要给大家介绍了关于spring mvc中注解@ModelAttribute妙用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Android具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

    Spring3MVC 在JSP中使用@ModelAttribute

    NULL 博文链接:https://liukai.iteye.com/blog/973717

    [Spring MVC] - ModelAttribute使用.docx

    在Spring MVC里,@ModelAttribute通常使用在Controller方法的参数注解中,用于解释model entity,但同时,也可以放在方法注解里。 如果把@ModelAttribute放在方法的注解上时,代表的是: 该Controller的所有方法在...

    SpringMVCDemo:Spring MVC 框架知识案例

    5.Spring MVC @ModelAttribute 注解案例 6.Spring MVC 国际化案例 7.Spring MVC 请求转发与请求重定向案例 8.Spring MVC 下载 Excel 文档的需求案例 9.Spring MVC RESTful 风格的请求方式案例 10.Spring + Spring ...

    精通Spring MVC 4

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。Spring MVC4是当前zuixin的版本,在众多特性上有了进一步的提升。, 在精通Spring...

    使用Spring MVC表单标签_IT168文库.doc

    在低版本的Spring中,你必须通过JSTL或...不过这一情况已经一去不复返了,从Spring 2.0开始,Spring MVC开始全面支持表单标签,通过Spring MVC表单标签,我们可以很容易地将控制器相关的表单对象绑定到HTML表单元素中。

    spring mvc RequestParam与 ModelAttribute异同.docx

    关于spring mvc中的两个注解:@RequestParam、@ModelAttribute区别,原先并没有特别注意,直到最近找别人开发的一个小模块的bug时,才有意识的比较了两者的区别。

    彻底根治Spring @ResponseBody JavaScript HTML特殊字符

    Spring MVC下彻底解决@ResponseBody转义html特殊字符问题,解决包括尖角号(),单引号('),双引号("),按位与(&),反斜杠(\)。

    Spring MVC表单标签库

    使用SprignMVC标签处理表单实例

    spring mvc标签使用指南

    13.9. 使用Spring的表单标签库 1 13.9.1. 配置 1 13.9.2. form标签 1 13.9.3. input标签 3 13.9.4. checkbox标签 3 13.9.5. checkboxes标签 6 13.9.6. radiobutton标签 6 13.9.7. radiobuttons标签 7 13.9.8. ...

    [免费]Spring MVC学习指南(高清)

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    spring mvc 官方文档

    本文详细介绍spring MVC的原理和开发心得体会。

    大优惠 Spring MVC学习指南(第2版)2017.pdf

    全书共计12章,分别从Spring框架、模型2和MVC模式、Spring MVC介绍、控制器、数据绑定和表单标签库、传唤器和格式化、验证器、表达式语言、JSTL、国际化、上传文件、下载文件多个角度介绍了Spring MVC。除此之外,...

    Servlet JSP和Spring MVC初学指南

    Servlet JSP和Spring MVC初学指南

    精通Spring MVC 4 中文

    精通Spring MVC 4 中文

    spring学习教程之@ModelAttribute注解运用详解

    主要给大家介绍了关于spring学习教程之@ModelAttribute注释运用的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

Global site tag (gtag.js) - Google Analytics