0
点赞
收藏
分享

微信扫一扫

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式


一、概述。

在很多企业的开法中常常用到SpringMVC+Spring+Hibernate(mybatis)这样的架构,SpringMVC相当于Struts是页面到Contorller直接的交互的框架也是界面把信息传输到Contorller层的一种架构,通过这个架构可以让我们把页面和Contorller层解耦,使得开发人员的分工更加明确。

二、代码演示。

1、首先配置SpringMVC环境。

1.1导入jar。

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式_ui

1. <?xml version="1.0" encoding="UTF-8"?>  
2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">  
3. <servlet>  
4. <servlet-name>springMVC</servlet-name>  
5. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
6. <load-on-startup>1</load-on-startup>  
7. </servlet>  
8. <servlet-mapping>  
9. <servlet-name>springMVC</servlet-name>  
10. <url-pattern>*.spring</url-pattern>  
11. </servlet-mapping>  
12. <welcome-file-list>  
13. <welcome-file>index.jsp</welcome-file>  
14. </welcome-file-list>  
15. </web-app>


springMVC-servlet.xml



 

1. <?xml version="1.0" encoding="UTF-8"?>  
2. <beans xmlns="http://www.springframework.org/schema/beans"  
3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
4. xmlns:context="http://www.springframework.org/schema/context"  
5. xsi:schemaLocation="  
6.         http://www.springframework.org/schema/beans   
7.         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
8.         http://www.springframework.org/schema/context   
9. >  
10. <context:component-scan base-package="com.gaowei.controller" />  
11. </beans>

2、前台界面代码。

login.jsp

 

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" "http://www.w3.org/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">  
11.     username:<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




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" "http://www.w3.org/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



 


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" "http://www.w3.org/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这个注解

 

1. package com.gaowei.controller;  
2.   
3. import org.springframework.stereotype.Controller;  
4. import org.springframework.ui.Model;  
5. import org.springframework.web.bind.annotation.RequestMapping;  
6. import org.springframework.web.bind.annotation.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. "username", username);  
18. return "ok.jsp";  
19. else {  
20. return "no.jsp";  
21.         }  
22.     }  
23. }

方式二:



 


1. package com.gaowei.controller;  
2.   
3. import org.springframework.stereotype.Controller;  
4. import org.springframework.ui.Model;  
5. import org.springframework.web.bind.annotation.RequestMapping;  
6. import org.springframework.web.bind.annotation.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. "username", username);  
15. return "ok.jsp";  
16. else {  
17. return "no.jsp";  
18.         }  
19.     }  
20.   
21. }


4、界面结果。

第一种传值方式:

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式_web.xml_02

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式_html_03

第二种传值方式:

菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式_web.xml_04

三、总结。

这里体现出了SpringMVC传值方式的多样性满足了开发人员的不同需求。

第一种用来表单的提交。

第二种用来界面间相互传值,也为了方便开发人员利用AJAX。

举报

相关推荐

0 条评论