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

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/beans
			http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
			http://www.springframework.org/schema/context
			http://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>
	<bean
			class="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;

@Controller
public 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;
	}
	@Override
	public 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;
@Controller
public 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;
	}

	@Override
	public 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值