复习struts2之请求参数接收

来源:互联网 发布:java中重载 编辑:程序博客网 时间:2024/05/22 00:13
以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=aaaaage=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页面即可使用符合类型接收请求参数步骤一:定义一个beanPerson.javapublic 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中没有默认构造器,会报错

原创粉丝点击