struts2问题,请高手指点

YOYOOOP 2010-06-28 11:06:21
我很纳闷.
首先,我写了一个类继承ActionSupport

public class BaseAction extends ActionSupport implements SessionAware{
public static final String LOGIN = "login";
private Map<String, Object> mapSession;
public Map<String, Object> getSession() {
return mapSession;
}
public void setSession(Map<String, Object> arg0) {
this.mapSession = arg0;
}
public HttpServletRequest getRequest(){
return ServletActionContext.getRequest();
}
public HttpServletResponse getResponse(){
return ServletActionContext.getResponse();
}
public String getText(String key) {
getSession();
String value = super.getText(key);
if(value != null )
return value;
return key;

}
}



问题1:为什么getSession()总是为null,我在webwork中也曾这样用过,是没有问题的.

问题2:在国际化时,子类Action调用getText()的时候,所得到的值是根据浏览器的语言所取的。但Jsp中使用<s:property valu="getText(**)"/>的时候总是显示中文.
由于我的每个jsp都是由action转发过去的。所以也会去调用BaseAction 中的getText()。但为什么是中文,而不是根据浏览器的当前语言。

我直接访问某个jsp的时候,这个时候显示是没有问题的。浏览器是中文,显示的就是中文,反之英文

我折腾一天了!请各位高手指点迷经。多谢多谢....
...全文
101 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nlwangxin 2010-06-29
  • 打赏
  • 举报
回复
public void setSession(Map session) {
this.session = session;
}

public Map getSession() {
return session;
}
alexycaa 2010-06-29
  • 打赏
  • 举报
回复
把 private Map<String, Object> mapSession;
中的mapSession 改成session 和set get方法的后半部分对应上
zml6308 2010-06-29
  • 打赏
  • 举报
回复
原来struts1的国际化是通过资源文件来解决的,struts2的国际化还没用过。等答案
amos1989 2010-06-29
  • 打赏
  • 举报
回复
帮顶..
xqyky 2010-06-28
  • 打赏
  • 举报
回复
sessionawire不是这样用的,请查阅strust2关于它的文档。大概如下:
private Map session;
public void setSession(Map session) {
this.session = session;
}

public Map getSession() {
return session;
}

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧