当前位置: 代码迷 >> J2EE >> struts2.0 action里如何传一些值去jsp呀
  详细解决方案

struts2.0 action里如何传一些值去jsp呀

热度:111   发布时间:2016-04-22 01:23:49.0
struts2.0 action里怎么传一些值去jsp呀
[code=Java][/code]
@Override
public String execute() throws Exception {
User u=new User();
System.out.println(info.getUsername());
u.setUsername(info.getUsername());
u.setPassword(info.getPassword());

if(userManager.exists(u)){
return "fail";
}
userManager.add(u);
prin(null);
return "success";

}
这里不override,就找不到了,所以response也用不上。

------解决方案--------------------
在Action中通过调用session或者request对象的setAttirbute方法就可以了,然后jsp里去取。
------解决方案--------------------
struts2如果用OGNL的话,是通过值栈传的!当然也可以存内置对象!
------解决方案--------------------
struts2 直接可以定义个
public String uname; 完了生成get set

页面中标签name属性定义成uname 就直接传了。。。
------解决方案--------------------
可以通过最基本的request, session的方法setAttribute()传值。

不过strust2.0开始就引入了DI这个概念,可以在action里写需要传的属性,设置getter and setter方法,就可以在jsp里存取。
------解决方案--------------------
在action中设置一个全局变量 (需要是规范的) 如:前俩个字符尽量别大写、第一个字符若小写、第二个就别大写、

然后在 你的action的方法里赋值、 

生成setter getter

前台直接拿el表达式就可以拿到、


Java code
private String csdn;//setter  getterpublic String execute() throws Exception{  csdn = "www.csdn.net";  return SUCCESS;}
------解决方案--------------------
探讨

在action中设置一个全局变量 (需要是规范的) 如:前俩个字符尽量别大写、第一个字符若小写、第二个就别大写、

然后在 你的action的方法里赋值、

生成setter getter

前台直接拿el表达式就可以拿到、


Java code
private String csdn;

//setter getter

public String execute()……

------解决方案--------------------
JSP页面获取Struts2 Action里面处理的值,

可以 

 
Java code
Action里面private UserInfo userInfo//get、set方法这样页面<s:property value="userInfo里面的属性值"/>这样就封装在form里面了,添加(页面 name=“userInfo.属性”)和取值 都是这样 很方便~
------解决方案--------------------
OGNL表达式,建议楼主去了解一下。我在这里给你推荐一篇文章,你可以去看下:
http://struts2.group.iteye.com/group/wiki/1356-how-to-use-ognl-in-struts2

------解决方案--------------------
存放到Session里面,ActionContext.getContext().getSession().put("key",value);再页面用<s:property value="%{#session.key}"/>或其他方法取值

存到Action的类字段里面也行,不过要有get方法,而且struts配置文件中的action中的result的type选择默认值

用ServletActionContext也行,不过这个不是struts2框架本身的

方法很多!!列举不完全,呵呵!
------解决方案--------------------
ActionContext.getContext()相当于得到有个request 得到REQUEST在.getSession就有得到session 当然你也可以实现二个接口来得到request 和reqsonse 实现servletRequestAwer,servletResponseAwer 添加后你就会要实现二个方法方法里面要传参数 跟那要传参数的在action添加有个set方法 这个实现的方法里面写上你this.参数=你传递过来的参数 然后在action 添加一个
------解决方案--------------------
用request.setAttribute()
------解决方案--------------------
给action定义一个成员变量,如:User u, 在jsp中用ognl表达式就可以从值栈获取,像这样:u.属性名
  相关解决方案