<s:if test="'teacher'=='sessiongetAttribute('ROLE')'">
你把这句分开写,试试,先 String role = sessiongetAttribute('ROLE');
然后 再比较,你试试
session即会话,是oracle中的概念,可用如下几个方法:
方法一:
1、登录oracle客户端,如plsql(登录用户需要有dba权限)。
2、运行如下语句,显示的就是当前的session id。
SELECT USERENV('SID') FROM DUAL;方法二:
1、登录oracle客户端,如plsql(登录用户需要有dba权限)。
2、运行如下语句,显示的就是当前的session id。
SELECT SID FROM V$MYSTAT WHERE ROWNUM =1;在jsp上内置就有session对象,可以直接用。
例如:<%=sessiongetAttribute("hello") %>
非要通过struts2的话,就用
>
用struts标签: <s:property value="#sessionhello" />
用EL表达式:${sessionhello}
用java代码:<%=sessiongetAttribute("hello")%>
如果只是删除,你可以先取得cookie然后取得对应key即可得到sessionid字段。
struts2
中,你可以在action中实现ServeltRequestAware,然后实现setRequest方法,然后就会得到request实例。然后调用request的getCookies方法就可以获得cookie的数组了,然后遍历找到那个sessionid然后删除或者置空就可以。另外,你还可以调用request的getSession方法获得session实例,然后调用
invalidate
方法(忘了是不是这么写了)强制session失效或者sessionsetMaxInactiveInterval(600);设置session的
生存时间
。
思路是这样的。每个用户登陆成功的时候获取他的sessionId 并且把他的用户名当做key sessionId当做value来存到Application里
(也就是容器里。Application是一个容器共用一个)
具体实现:
import comopensymphonyxwork2ActionContext;
ActionContext ac = ActionContextgetContext();
Map sessionMap = acgetSession();
Map applicationMap = acgetApplication();//struts2 吧application这些对象做了封装 所以你对这个map *** 作也就是对Application *** 作。(如果你不习惯这样做 也可以用原始的方法)
applicationput(你的用户名, sessionId );
并且要在session里存入你的用户名。
sessionMapput("username", 你的用户名 );
---------------------------------------------
如果有账号登录了。先去applicationMap里找一下。看这个账户有没有登陆
String lu = applicationMapget(username);
if(lu == null){
在applicationMap 里存入相应信息。也就是上面的代码
} else{
如果不等于空,就获取自己的sessionId 然后放入application里把之前的登陆的那个session覆盖掉。
applicationput(username, mySessionId );这里的mySessionId 是自己的sessionId
}
这样做了以后 你要修改你的程序,在每次请求的时候都去你的session里找到你的用户名(在登陆的时候已经保存了)
Srtring username = sessionMapget("username")
然后在application里找到
String sessionId = applicationMapget(username );
在从你session里获取mySessionId 和 sessionId 对比。
如果一样 就继续 如果不一样就跳转到登陆页面。
你可以不修改程序。而去写一个Interceptor,在里面拦截每个请求。这样更方便。
PS:上面的代码里用到struts2 封装的一些session。。等
如果用的不习惯 可以换一下,就写成原始获取session的方法也行。
以上就是关于struts2 中 <s:if test 标签中 用session(已保存角色) 如何在jsp中获取, 代码如何写如下写法为何错全部的内容,包括:struts2 中 <s:if test 标签中 用session(已保存角色) 如何在jsp中获取, 代码如何写如下写法为何错、如何获取session中的session id、struts2怎么取session里面的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)