struts2的action与jsp之间传递参数

1、浏览器往Action传递参数:

    在Action中设置属性,并为属性设置get/set方法。传递参数时按照属性的名字赋值即可。如xxx?name=aa

    取值用request.getPrameters("属性名“);

public class UserAction {  
    private String name;  
    private User user;  
    public String userAdd() {  
        System.out.print(user.getName());  
        System.out.print(name);  
        return "success";  
    }  
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  
    public User getUser() {  
        return user;  
    }  
    public void setUser(User user) {  
        this.user = user;  
    }  
}  

注:struts2不会使用单例模式,因此每次的请求都是new 一个新对象。


2、Action 往浏览器界面传递参数:

     方式有三种:

    1)种:直接给Action 属性(有get/set方法)赋值 ,JSP中用

  1. <s:property value="OGNL表达式"/> 取值,注意返回结果类型为forward  

    例如:

  1. <s:property value="name"/>  
  2. <s:property value="user.name"/>  

     2)种:通过ActionContext传值,在Action中所调用的方法中加入:

  1. ActionContext.getContext().put("key", "value");  

      JSP中用

  1.  <s:property value="#key"/>取值 

    

    3)种:通过request、session 传值。Action方法中通过取得HttpServletRequest 、HttpSession 和 Map对象设置值,

例如:

  1. ServletActionContext.getRequest().setAttribute("arg0", "value"); ServletActionContext.getRequest().getSession().setAttribute("arg0", "value"); ActionContext.getContext().getSession().put("key", "value");

jsp页面通过:jstl+el获取

猜你喜欢

转载自blog.csdn.net/y694721975/article/details/53319318