复习struts2之请求参数接收

以get方式发送参数
步骤一:在action中定义两个参数name和age,并定义出相应的set和get方法
	private String name;
	private String age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
注:要接收值需要set方法,如果要把接收到的值打印出来,需要用到get方法
步骤二:在struts.xml文件中配置方法
	<package name="itcast" namespace="/test" extends="struts-default">
		<action name="helloword" class="cn.itcast.action.HelloWordAction" method="execute">
			<result name="success">/WEB-INF/page/message.jsp</result>
		</action>
	</package>
步骤三:在jsp页面打印显示
name=${name}<br/>
age=${age}
步骤四:通过路径访问并传递两个参数
localhost:8080/struts2/test/helloword.do?name=aaaa&age=12
结果:
name=aaaa
age=12
步骤分析:首先,用户在浏览器中发送请求,请求到达struts.xml文件后根据相应的配置发送到特定的action中的方法去处理,处理后返回相应的视图,在jsp页面打印出相应的数据

以post方式提交参数
在index.jsp中加入以下代码:
<form action="/struts2/test/helloword.do" method="post">
	name:<input type="text" name="name"/><br/>
	age:<input type="text" name="age"/><br/>
	<input type="submit" value="确定"/>
</form>
在运行时直接访问此jsp页面即可

使用符合类型接收请求参数
步骤一:定义一个bean
Person.java
public class Person {

	private String name;
	private String age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
}
步骤二:jsp页面的搭建  注意文本框的名字
<form action="/struts2/test/person.do" method="post">
	name:<input type="text" name="person.name"/><br/>
	age:<input type="text" name="person.age"/><br/>
	<input type="submit" value="确定"/>
</form>
步骤三:在struts.xml文件中配置
		<action name="person" class="cn.itcast.action.PersonAction" method="person">
			<result name="success">/WEB-INF/page/message.jsp</result>
		</action>
步骤四:action中的参数及方法
	private Person person;
	public Person getPerson() {
		return person;
	}
	public void setPerson(Person person) {
		this.person = person;
	}
	public String person(){
		System.out.println(person.getName());
		return "success";
	}
步骤五:返回视图后的jsp页面,获取并打印出参数
name=${person.name}<br/>
age=${person.age}
访问时直接访问index.jsp即可:
http://localhost:8080/struts2/index.jsp
使用符合类型接收请求参数的好处:
会减少action中存在大量的set、get方法的代码

Person为什么能够将参数存储起来呢?
首先struts2的拦截器接收到请求参数后,根据请求参数的名称,会访问属性,如果person对象为空,struts2会利用反射机制调用person的构造器方法,然后对它进行实例化,实例化后再通过反射机制为它的两个属性注值,所有如果Person中没有默认构造器,会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值