Struts2接受请求参数

2014-11-24 07:11:41 · 作者: · 浏览: 0
在接受请求参数的时候,Struts给我们封装了较好的功能,使得接受请求参数变的很简单,下面分别来演示GET POST方法接受请求参数。

其实Struts对于POST和SET方法接受请求参数的设置是一样的,因为底层都是调用request.getParameter()方法。

首先需要写好Action处理类


package com.bird.action;

import com.bird.bean.Person;

public class HelloWorld {
private Integer id;
private String name;
private Person person;

public Person getPerson() {
return person;
}

public void setPerson(Person person) {
this.person = person;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String execute(){

return "success";
}

public String addUI(){

return "success";
}
}
package com.bird.action;

import com.bird.bean.Person;

public class HelloWorld {
private Integer id;
private String name;
private Person person;

public Person getPerson() {
return person;
}

public void setPerson(Person person) {
this.person = person;
}

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String execute(){

return "success";
}

public String addUI(){

return "success";
}
}

要提供set 和get方法使其变为属性,从而令struts能够调用,还有就是在struts.xml文件中要把这个Action配置好。

然后在 浏览器中输入一下地址就可以了

http://localhost:8080/Struts2/test/helloworld.action id=1&name=xxx


对于POST也是一样的,注意一下字符编码的控制,一般来说,默认是UTF-8,所以应该是没问题的。




下面介绍复合参数的接受方法

首先建立一个Person Bean


package com.bird.bean;

public class Person {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}
package com.bird.bean;

public class Person {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}

}

然后建立一个表单界面



id:
name:



id:
name:


提交的就是直接使用点符号隔开,然后显示界面


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>




My JSP 'hello. <a href="http://www.2cto.com/kf/web/jsp/" target="_blank" class="keylink">jsp</a>' starting page




id = ${person.id }

name = ${person.name }

html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>




My JSP 'hello.jsp' starting page




id = ${person.id }

name = ${person.name }


Struts内部使用反射技术将这些请求参数放入到指定的地方,然后才能使用EL表但是获取,总之还是推荐使用复合参数的获取吧,那样Action代码简便而且好增加功能维护



摘自 小愤青