Struts中向显示界面传输数据

时间:2023-03-09 08:10:45
Struts中向显示界面传输数据

方法一:action类成员做对象成员,加getter,setter.例如:

public class RegAction extends ActionSupport {
private Login logindata;//传一个对象
public Login getLogindata() {
return logindata;
}
public void setLogindata(Login logindata) {
this.logindata = logindata;
}
private List<Login> list;//传一个集合
public List<Login> getList() {
return list;
}
public void setList(List<Login> list) {
this.list = list;
}
private String name;//传一个属性
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

在jsp中接收如下:

//接收对象
${logindata.userName }
${logindata.name }
${logindata.password }
${logindata.account }
//接收遍历集合
<c:forEach items="${list }" var="data">
${data.userName }
${data.name }
${data.password }
${data.account }
</c:forEach>
//接收属性
${userName }
${name }
${password }
${account }

方法二:在Action类中操作request,session

  public String detail(){

       //通过request
ServletActionContext.getRequest().setAttribute("sex", "男"); //通过session
ServletActionContext.getRequest().getSession().setAttribute("address", "北京"); //通过session
ActionContext.getContext().getSession().put("postcode", "1234567"); return "detail";
}

方法三:在Action类中使用接口操作request,session

public class RegAction extends ActionSupport implements RequestAware,SessionAware{
//定义两个成员变量
private Map<String,Object> session;
private Map<String,Object> request;
//重写接口中的方法。
@Override
public void setRequest(Map<String, Object> arg0) {
this.request = arg0;
}
@Override
public void setSession(Map<String, Object> arg0) {
this.session = arg0;
} }