springMVC入门--传递参数的方式

来源:互联网 发布:linuxmysql源码安装 编辑:程序博客网 时间:2024/05/16 04:45

springMVC入门--传递参数的方式

如何利用springMVC传递参数呢?
传递的类型:可以是基本数据类型,也可以是数组、List、Map等
1.直接传递一个个的数据类型
1)加入spring支持
2)配置web.xml文件
<span style="font-size:24px;"><?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><display-name>springmvc-02-parameter</display-name><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app></span>
3)新建springmvc-servlet.xml文件,进行配置
<span style="font-size:24px;"><?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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-3.1.xsd"><context:annotation-config></context:annotation-config><context:component-scan base-package="com.etc.controller"></context:component-scan><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass"value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean></beans></span>
4)在index.jsp中写登录页面
<span style="font-size:24px;"><html>  <body>   <form action="login">  //点击登录之后会达到login路径,与LoginController中的@RequestMapping("/login")相对应    username:<input name="username">    password:<input name="password">    <input type="submit" value="login">   </form>  </body></html></span>
5)在com.etc.controll中写LoginController.java
<span style="font-size:24px;">package com.etc.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class LoginController {@RequestMapping("/login")  //指定路径名public String login(String username,String password)   //直接传入参数,即可获得{System.out.println("username="+username+",password="+password);return "success";}}</span>
6)在WEB-INF下新建jsp文件夹,新建success.jsp文件
<span style="font-size:24px;"><html>       <body>  <span style="white-space:pre"></span> login success    </body></html></span>
7)右键运行,登录页面填写用户名和密码,输出:usename=lin,password=1
2.将数据封装成一个对象,然后进行传递
1)---4)步如上,不改变任何改变代码
5)在com.etc.vo下新建User.java
<span style="font-size:24px;">package com.etc.vo;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;}@Overridepublic String toString() {return "User [username=" + username + ", password=" + password + "]";}}</span>
6)更改LoginController.java
<span style="font-size:24px;">package com.etc.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.etc.vo.User;@Controllerpublic class LoginController {@RequestMapping("/login")public String login(User user){System.out.println(user);return "success";}}</span>
   7)右键运行,登录页面填写用户名和密码,输出:User [username=1, password=1]
3.传递不同的参数,数组,List,Map
1)--3)步如上面一样,代码不改变
4)更改index.jsp页面如下:
<span style="font-size:24px;"><pre name="code" class="html"><html>  <body>   <form action="login">    username:<input name="username"><br>    password:<input name="password"><br>    age:<input name="age"><br>    hobby:<input name="hobby"><input name="hobby"><br>    hobby2:<input name="hobby"><input name="hobby"><br>    map:<input name="map[username]"><input name="map[password]"><br>    <input type="submit" value="login">   </form>  </body></html></span>
5)更改User.java如下:
<span style="font-size:24px;">package com.etc.vo;import java.util.Arrays;import java.util.List;import java.util.Map;public class User {private String username;private String password;private int age;private String[] hobby;private List hobby2;private Map map;public String[] getHobby() {return hobby;}public void setHobby(String[] hobby) {this.hobby = hobby;}public List getHobby2() {return hobby2;}public void setHobby2(List hobby2) {this.hobby2 = hobby2;}public Map getMap() {return map;}public void setMap(Map map) {this.map = map;}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;}@Overridepublic String toString() {return "User [username=" + username + ", password=" + password+ ", age=" + age + ", hobby=" + Arrays.toString(hobby)+ ", hobby2=" + hobby2 + ", map=" + map + "]";}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}</span>
6)步骤不改变
7)右键运行,输入相应的信息,在控制台得到的信息如下:
User [username=liu, password=123, age=12, hobby=[music, sports, game, watchTV], hobby2=null, map={password=343, username=zoey}]
页面跳转到成功页面,输出login success


0 0