日期:2014-05-17  浏览次数:20759 次

struts2如何获取session? 我的KEY比较特别
session的key是这么定义的。

public static final String SESSION_ID = UUID.randomUUID().toString(); //自动生成一个uuid



请问 我在struts2 页面怎么获取呢?


<s:property value="%{@com.CommonConst@SESSION_ID}"/> 这一段可以取到uuid的值

<s:property value="#session.@com.CommonConst@SESSION_ID"/> 这么写没用 取不到值


????????????? 请问到底怎么写啊????????????????????

------解决方案--------------------
没弄明白啥意思,怎么还用自己生成seesionid呢,在struts2里面要像没必要吧,servlet容器会帮你做这事

<s:property value="%{@com.CommonConst@SESSION_ID}"/> 这一段可以取到uuid的值

你都说这么写可以取到了,请问你到底要取什么?
------解决方案--------------------
搞这么麻烦干嘛
类里放个get函数来返回这个session的值,页面直接提取不就完了..
action:
public String getUuid() {
 return session.getAttribute(CommonConst.SESSION_ID);
}

jsp:
<s:property value="uuid"/>
------解决方案--------------------
好像不行,你这种属于标签嵌套。我以前也遇到过,最后自己写了标签实现。
------解决方案--------------------
首先 鉴于你一定要放到session里的做法 我很汗颜 由此可见 你没有理解strtus 你没有体会到 他的强大 没有体验过他带来的方便 纠结
建议处理方案:加个 model层 在model层理放 user对象 给予 set get 方法 以及无参构造 在action里 setmodel 页面直接 <s:property value="属性名"/> 。。。上班 无法详细贴代码 后续的人补上吧
------解决方案--------------------
什么叫直接跳到jsp
正常流程应该是访问了你的action,然后action返回view标识,根据标识跳转相应的页面
你是怎么做的??

另外,写法不对
#session[@com.CommonConst@SESSION_ID]
类似这样,还不行就试试用%{@com.CommonConst@SESSION_ID}
------解决方案--------------------
不要点...
session访问2种写法
session.name
或者
session["name"]
------解决方案--------------------
你的session看看是怎么得到的 是Service的还是struts的?
------解决方案--------------------
更正啊 是servlete写成service了 不好意思
------解决方案--------------------
往session里放值ActionContext.getContext().getSession().put("name",value);
往session里取值ActionContext.getContext().getSession().get("name");