其实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
下面介绍复合参数的接受方法
首先建立一个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;
}
}
然后建立一个表单界面
提交的就是直接使用点符号隔开,然后显示界面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
id = ${person.id }
name = ${person.name }
html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
id = ${person.id }
name = ${person.name }
Struts内部使用反射技术将这些请求参数放入到指定的地方,然后才能使用EL表但是获取,总之还是推荐使用复合参数的获取吧,那样Action代码简便而且好增加功能维护
摘自 小愤青