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中用 <s:property value="OGNL運算式"/> 取值,注意返回結果類型為forward
例如: <s:property value="name"/> <s:property value="user.name"/>
2)種:通過ActionContext傳值,在Action中所調用的方法中加入:
ActionContext.getContext().put("key", "value");
JSP中用 <s:property value="#key"/>取值
3)種:通過request、session 傳值。Action方法中通過取得HttpServletRequest 、HttpSession 和 Map對象設定值,
例如:
ServletActionContext.getRequest().setAttribute("arg0", "value"); ServletActionContext.getRequest().getSession().setAttribute("arg0", "value"); ActionContext.getContext().getSession().put("key", "value");
jsp頁面通過:
【轉自】 http://cailangwei.blog.163.com/blog/static/131458579201287112552485/