Struts2:关于取得session的方式

Struts2:关于取得session的方式,第1张

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的方式有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10206222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存