Struts2
取得Session,可采用两种方式:
1、从ActionContext中获取;
2、实现SessionAware接口。
1、从ActionContext中获取:
import
javautilMap;
import
comopensymphonyxwork2ActionContext;
import
comopensymphonyxwork2ActionSupport;
public
class
SessionTestAction
extends
ActionSupport
{
public
String
execute()
{
ActionContext
actionContext
=
ActionContextgetContext();
Map
session
=
actionContextgetSession();
sessionput("USER_NAME",
"Test
User");
return
SUCCESS;
}
}
2、实现SessionAware接口:
[java]
view
plaincopyprint
import
javautilMap;
import
orgapachestruts2interceptorSessionAware;
import
comopensymphonyxwork2ActionSupport;
public
class
SessionTest1Action
extends
ActionSupport
implements
SessionAware
{
private
Map
session;
public
void
setSession(Map
session)
{
thissession
=
session;
}
public
String
execute()
{
thissessionput("USER_NAME",
"Test
User
1");
return
SUCCESS;
}
String method = thisrequest()getMethod(); 这个值就是了
可以这样判断
if( methodequals("post") ){
}
一、在struts2框架中获取servlet api的方式有3种;
二、每种具体介绍
1、最常用的一种方式是使用ServletActionContext访问Servlet
API
a、新建web工程,导入Struts2支持;
b、使用ActionContext访问Servlet API
比如以上是LoginAction的execute方法,将hello属性值设置为helloworld并放入session中,在结果页面通过sessionScopehello就可以将值取出来。
2、使用ActionContext访问ServletAPI,将红字部分替换成以下内容也可以。
从以上代码可以看出,map所对应的就是session的内容。将session转换为map,方便我们进行web的单元测试。
3、通过实现指定接口ServletContextAware,ServletRequestAware,ServletResponseAware。
下面以ServletRequestAware为例,介绍如何在Action中访问>
三、方法使用注意事项:
第一种建议使用、,第三种不推荐使用,与ServletAPI的耦合性大。
$,这样就可以得到,其实不用放到session,直接在action里边定义一个user对象,生成set、get,只要user对象有值,页面里边直接:<s:property value="username">
如何在一个类中获取>Struts2 中要用这个>
import javaxservlet>
import javaxservlet>
import comopensymphonyxwork2ActionSupport;
import orgapachestruts2ServletActionContext;
import javautilMap;
public class UserAction extends ActionSupport {
private >
private >
public String addUser() throws Exception {
/
采用ActionContext则为
<Map> request =(Map)ActionContext()getContext()get(“request”);
/
request = ServletActionContext()getRequest();
String name = requestgetParameter("name");
}
}
你都用struts2了还取servlet的session,request干嘛
你不就是想把值传给jsp吗,直接用struts2传就是的了,干嘛还用什么session、request的。
以上就是关于Struts2:关于取得session的方式全部的内容,包括:Struts2:关于取得session的方式、struts2如何得到该action的请求方式,即请求该action是用post提交还是get提交、在struts2框架中获取servlet api的方式有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)