菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式
分类:菜鸟学习SSH2015-01-21 11:3410028人阅读评论(1)收藏举报一、概述。
在很多企业的开法中常常用到
SpringMVC+Spring+Hibernate(mybatis)这样
的架构,SpringMVC相当于Struts是页面到
Contorller直接的交互的框架也是界面把信息
传输到Contorller层的一种架构,通过这个架
构可以让我们把页面和Contorller层解耦,使
得开发人员的分工更加明确。
二、代码演示。
1、首先配置SpringMVC环境。
1.1导入jar。
值得注意的是红色标记的
commons-logging这个jar包一定得引入进去不然会报错。
1.2、xml配置文件。
web.xml
[html]view plaincopyprint?
1.<?xml version="1.0"
encoding="UTF-8"?>
2.<web-app
xmlns:xsi="/2001/ XMLSchema-instance"
xmlns="/xml/ns /javaee"
xsi:schemaLocation="http://xmlns.j /xml/ns/javaee
/xml/ns/javaee /web-app_3_1.xsd"id="WebApp_ID"
version="3.1">
3.<servlet>
4.<servlet-name>springMVC</servlet-n
ame>
5.<servlet-class>org.springframework
.web.servlet.DispatcherServlet</se rvlet-class>
6.<load-on-startup>1</load-on-start
up>
7.</servlet>
8.<servlet-mapping>
9.<servlet-name>springMVC</servlet-n
ame>
10.<url-pattern>*.spring</url-patter
n>
11.</servlet-mapping>
12.<welcome-file-list>
13.<welcome-file>index.jsp</welcome-f
ile>
14.</welcome-file-list>
15.</web-app>
springMVC-servlet.xml
[html]view plaincopyprint?
1.<?xml version="1.0"
encoding="UTF-8"?>
2.<beans
xmlns="http://www.springframework.
org/schema/beans"
3.xmlns:xsi="/2001/
XMLSchema-instance"
xmlns:p="http://www.springframewor /schema/p"
4.xmlns:context="http://www.springfr
/schema/context"
5.xsi:schemaLocation="
6./sch
ema/beans
7./sch
ema/beans/spring-beans-3.0.xsd
8./sch
ema/context
9./sch
ema/context/spring-context-3.0.xsd ">
10.<context:component-scan
base-package="com.gaowei.controlle
r"/>
11.</beans>
2、前台界面代码。
login.jsp
[plain]view plaincopyprint?
1.<%@ page language="java"
contentType="text/html;
charset=UTF-8"
2.pageEncoding="UTF-8"%>
3.<!DOCTYPE html PUBLIC "-//W3C//DTD
HTML 4.01 Transitional//EN"
"/TR/html4/loose.
dtd">
4.<html>
5.<head>
6.<meta http-equiv="Content-Type"
content="text/html;
charset=UTF-8">
7.<title>Insert title here</title>
8.</head>
9.<body>
10.<form action="login.spring"
method="post">
ername:<input type="text"
name="username">
12.<br/>
13.password:<input type="text"
name="password">
14.<br/>
15.<input type="submit" value="登录">
16.</form>
17.</body>
18.</html>
No.jsp
[html]view plaincopyprint?
1.<%@ page language="java"
contentType="text/html;
charset=UTF-8"
2.pageEncoding="UTF-8"%>
3.<!DOCTYPE html PUBLIC "-//W3C//DTD
HTML 4.01 Transitional//EN"
"/TR/html4/loose.
dtd">
4.<html>
5.<head>
6.<meta http-equiv="Content-Type"
content="text/html;
charset=UTF-8">
7.<title>Insert title here</title>
8.</head>
9.<body>
10.No!
11.</body>
12.</html>
Ok.jsp
[html]view plaincopyprint?
1.<%@ page language="java"
contentType="text/html;
charset=UTF-8"
2.pageEncoding="UTF-8"%>
3.<!DOCTYPE html PUBLIC "-//W3C//DTD
HTML 4.01 Transitional//EN"
"/TR/html4/loose.
dtd">
4.<html>
5.<head>
6.<meta http-equiv="Content-Type"
content="text/html;
charset=UTF-8">
7.<title>Insert title here</title>
8.</head>
9.<body>
10.OK! welcome:${username}
11.</body>
12.</html>
3、Contorller层接收前台的两种方式。
方式一:
利用@RequestParam这个注解
[java]view plaincopyprint?
1.package com.gaowei.controller;
2.
3.import
org.springframework.stereotype.Con
troller;
4.import
org.springframework.ui.Model;
5.import
org.springframework.web.bind.annot
ation.RequestMapping;
6.import
org.springframework.web.bind.annot ation.RequestParam;
7.
8.@Controller
9.public class Login {
10.
11.//方式一
12.@RequestMapping("/login")
13.public String
login(@RequestParam("username")
String username,
14.@RequestParam("password") String
password,Model model){
15.if (username.equals(password))
16.{
17.model.addAttribute("username",
username);
18.return"ok.jsp";
19.} else {
20.return"no.jsp";
21.}
22.}
23.}
方式二:
[java]view plaincopyprint?
1.package com.gaowei.controller;
2.
3.import
org.springframework.stereotype.Con troller;
4.import
org.springframework.ui.Model;
5.import
org.springframework.web.bind.annot ation.RequestMapping;
6.import
org.springframework.web.bind.annot ation.RequestParam;
7.
8.@Controller
9.public class Login {
10.@RequestMapping("/login")
11.public String login(String
username,String password,Model
model){
12.if (username.equals(password))
13.{
14.model.addAttribute("username",
username);
15.return"ok.jsp";
16.} else {
17.return"no.jsp";
18.}
19.}
20.
21.}
4、界面结果。
第一种传值方式:
第二种传值方式
三、总结。
这里体现出了SpringMVC传值方式的多样性满足了开发人员的不同需求。
第一种用来表单的提交。
第二种用来界面间相互传值,也为了方便开发人员利用AJAX。