stang003
2010-05-18 11:38
浏览 266
已采纳

struts2的Action里获得cookie出现的问题

我的一个Action:
[code="java"]
public class LogAction extends ActionSupport implements SessionAware,
CookiesAware {
......
private Map session;
private Map cookies;

public void setSession(Map<String, Object> session) {
    this.session = session;
}

public void setCookiesMap(Map<String, String> cookies) {
    this.cookies = cookies;
}

......

}
[/code]
我不知道做了什么改动,本来Action里还能拿到Cookies的,现在不知道怎么不行了
我在setSession里加了打印语句:
[code="java"]System.out.println("session...");[/code]
setCookiesMap里也加了:
[code="java"]System.out.println("cookies...");[/code]
可是只有session...被打印出来,而Cookies却没有,请问只是怎么回事?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 拽拽的初行者 2010-05-18 12:24
    已采纳

    [b]看看package继承的哪个package?

    以及当前的package中是否有default-interceptor-ref

    这应该就是你的问题所在,缺少CookieInterceptor。[/b]

    点赞 打赏 评论
  • 拽拽的初行者 2010-05-18 12:10

    [color=blue][b]看看你的Interceptor Stack的内容,里面应该没有CookieInterceptor[/b]
    [/color]

    点赞 打赏 评论
  • 拽拽的初行者 2010-05-18 12:30

    [color=blue][b]试试这样,将cookieInterceptor加入到默认的Interceptor stack中[/b][/color]
    [code="xml"]





        </interceptor-stack>
    </interceptors>
    


    ...
    [/code]

    点赞 打赏 评论
  • 拽拽的初行者 2010-05-18 12:31

    [color=blue][b]明确更正一下,这个缺省的没有[/b][/color]

    [quote]

    [code="xml"] namespace="/">

    namespace="/">
    [/code]

    这个继承是有的 [/quote]

    点赞 打赏 评论
  • 拽拽的初行者 2010-05-18 13:15

    如果要操作cookie的而不是单纯地获得值的话,还是通过HTTPServletRequest来操作吧。

    弱弱地问一下啊,获取cookie是不是添加cookieInterceptor才成功的?

    点赞 打赏 评论
  • 拽拽的初行者 2010-05-18 13:18

    [color=blue][b]
    至于为什么得到的cookie是String类型的key、value,以至于 不能操作属性,请看见我的这篇博客:[/b][/color]

    [url]http://xiaolongfeixiang.iteye.com/blog/656454[/url]

    点赞 打赏 评论
  • 拽拽的初行者 2010-05-18 13:29

    [quote]好像是这个原因,那缺省的包下默认的拦截器又是什么呢[/quote]

    默认的Interceptor中不包含cookieInterceptor。

    仔细看看这几个回复,你想要答案都在其中。

    点赞 打赏 评论

相关推荐