struts2 jsp actionaction 向 jsp 传值

WalleChoy的java web之路
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中用
&s:property value="OGNL表达式"/& 取值,注意返回结果类型为forward
&s:property value="name"/&
&s:property value="user.name"/&
2)种:通过ActionContext传值,在Action中所调用的方法中加入:
ActionContext.getContext().put("key", "value");
&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//
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!在该奋斗的年龄不要选择安逸!
struts2中action向action之间传数据和action向jsp传数据理解
1,在 Action中我们经常会从这个Action跳转到另一个Action中,这时我们就要用到redirect、redirect-action、chain,
其中redirect和redirect-action是重定向,相当于浏览器二次请求,之前的数据都会丢失,所有的参数、值栈和请求属性都会丢失。chain是服务器转发action,源Action的用户请求参数、值栈、session的数据赋值给目的Action,即在目的action中可以获得源action得到的请求参数值栈,session等数据。
当我们想在这两个action之间传递参数时:
a,使用链接加“?”的方式。如果想在请求的过程中添加参数可以像超链接传值一样在最后用"xx?xx=xx" 的形式来传递参数.
&result name="reload" type="redirectAction"&/manager/ managerInfo/account.action?参数名=参数值&/result&,
如果这里的参数值不是一个固定值可以用"${参 数值}"这种OGNL表达式的形式获取,注意:这里的"参数值"在相应的Action中一定要提供get/set方法,否则将无法获得参数值,当然这里也同样可以取一个 对象的某个属性值即:${对象名.属性名},符合ONGL表达式访问规则,之前写过着方面的文章。
b,使用子元素的形式。
&span style="background-color: rgb(255, 255, 255);"&&action name="action1" method="" class=""&
&result name="success" type="chain"&
&param name="actionName"&action2&/param&
&param name="param1"&${param1}&/param&
&param name="param2"&${param2}&/param&
&/span&注意:
1. 若param1和param2是两个变量,那么在两个action中都要有他们的getter和setter
2. 若param1是常量,那么在action1中只要有一个param1的getter,在action2中要有param1的getter和setter 如果在两个action之间直接跳转而不用传参数,struts.xml文件可以和上面一样,只是没有param标签,还可以使用如下配置:&action name="action1" method="" class=""&
&result name="success" type="redirectAction"&action2.action&/result&
&/action&即可
2,struts2 action 向jsp页面传递参数问题
a,在jsp页面可以使用ONGL表达式访问action中的值栈等
b,可以使用request.setAttribute("key","value");session.setAttribute("key","value");在相应的jsp页面上可以使用OGNL表达式“#request.key”“#session.key”获取值。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!豆丁微信公众号
君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
struts2 中jsp页面怎么将传值action 值传递给另一个jsp
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口两种主要方式:一 和Servlet API耦合的访问方式二 和Servlet API解耦的访问方式********************************************************************一 和Servlet API耦合的访问方式1、 采用Request
(HttpServletRequest)对象来传递数据(1)在Action类文件中
(A) 导入ServletActionContext类:
import org.apache.struts2.ServletActionC
(B) 获得request对象,具体的方法如下:
HttpServletRequest request = ServletActionContext.getRequest ();
(C)通过setAttribute()方法把需要传递的数据对象放入request对象中:
request.setAttribute("key",Object);(2)JSP文件中,有多种方法可以获得被传递的数据对象,比如:
(A) request.getAttribute("key")获得被传递的数据对象。
(B) &s:iterator value="#request.key"& 获得被传递的数据对象。2、采用application (ServletContext) 对象来传递数据(1)在Action类文件中
(A) 导入ServletActionContext类:
import org.apache.struts2.ServletActionC
(B) 获得application对象,具体的方法如下:
ServletContext application = ServletActionContext.getServletContext ();
(C)通过setAttribute()方法把需要传递的数据对象放入application对象中:
application.setAttribute("key",Object);
(2)JSP文件中,有多种方法可以获得被传递的数据对象,比如:
(A) application.getAttribute("key")获得被传递的数据对象。
(B)&s:iterator value="#application.key"& 获得被传递的数据对象。3、采用session (HttpSession) 对象来传递数据 (1)在Action类文件中
(A) 导入ServletActionContext类:
import org.apache.struts2.ServletActionC
(B) 获得session对象,具体的方法如下:
HttpSession session = ServletActionContext.getRequest ().getSession();
(C) 通过setAttribute()方法把需要传递的数据对象放入session对象中:
session.setAttribute("key",Object); (2)JSP文件中,有多种方法可以获得被传递的数据对象,比如:
(A) session.getAttribute("key")获得被传递的数据对象。
(B) &s:iterator value="#session.key"& 获得被传递的数据对象。*********************************************************************************二和Servlet API解耦的访问方式 1、 采用Request
(HttpServletRequest对应的Map对象)对象来传递数据(1)在Action类文件中
(A) 导入ActionContext类:
import com.opensymphony.xwork2.ActionC
(B) 获得request对象,具体的方法如下:
ActionContext context= ActionContext.getContext();
Map request = (Map)context.get("request");
(C)通过put()方法把需要传递的数据对象放入request对象中:
request.put("key",Object);(2)JSP文件中,有多种方法可以获得被传递的数据对象,比如:
(A) request.getAttribute("key")获得被传递的数据对象。
(B) request.get("key")获得被传递的数据对象。
(C) &s:iterator value="#request.key"& 获得被传递的数据对象。
(D) requestScope.key 获得被传递的数据对象。2、采用application (ServletContext对应的Map对象) 对象来传递数据(1)在Action类文件中
(A) 导入ActionContext类:
import com.opensymphony.xwork2.ActionC
(B) 获得application对象,具体的方法如下:
ActionContext context= ActionContext.getContext();
Map application = (Map)context.getApplication();
(C)通过put()方法把需要传递的数据对象放入application对象中:
application.put("key",Object);(2)JSP文件中,有多种方法可以获得被传递的数据对象,比如:
(A) application.getAttribute("key")获得被传递的数据对象。
(B) application.get("key")获得被传递的数据对象。
(C) &s:iterator value="#application.key"& 获得被传递的数据对象。
(D) applicationScope.key 获得被传递的数据对象。3、采用session (HttpSession对应的Map对象) 对象来传递数据 (1)在Action类文件中
(A) 导入ActionContext类:
import com.opensymphony.xwork2.ActionC
(B) 获得session对象,具体的方法如下:
ActionContext context= ActionContext.getContext();
Map session = (Map)context.getSession();
(C)通过put()方法把需要传递的数据对象放入session对象中:
session.put("key",Object);(2)JSP文件中,有多种方法可以获得被传递的数据对象,比如:
(A) session.getAttribute("key")获得被传递的数据对象。
(B) session.get("key")获得被传递的数据对象。
(C) &s:iterator value="#session.key"& 获得被传递的数据对象。
(D) sessionScope.key 获得被传递的数据对象。
浏览: 122686 次
来自: 深圳
这些参数在谷歌浏览器上不支持,比如最大化、最小化等,请问怎么解 ...
还有一种情况,若直接调用了delete函数,也会出现这个问题。 ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'

我要回帖

更多关于 jsp action 传值 的文章

 

随机推荐