NutzCN Logo
问答 Mvcs.getLocalizationKey报错
发布于 2436天前 作者 threefish 1552 次浏览 复制 上一个帖子 下一个帖子
标签:
 java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String
	at org.nutz.mvc.Mvcs.getLocalizationKey(Mvcs.java:109)
	at org.nutz.mvc.Mvcs.updateRequestAttributes(Mvcs.java:184)
	at org.nutz.mvc.NutFilter.nextChain(NutFilter.java:228)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:205)
18 回复

第一次刷新界面 即报错
第二次再次刷新正常
第三次报错
第四次正常
一直重复下去

除此外,不影响系统使用。。

有代码往session的nutz_mvc_localization_key属性放了个boolean值

可能是shiro的sessionManager影响了

shiro部分和Nutz.cn论坛的代码一样

[main]
#Session管理器
sessionManager = org.apache.shiro.web.session.mgt.DefaultWebSessionManager
sessionManager.sessionValidationSchedulerEnabled = false

# Session 缓存
sessionDAO = org.apache.shiro.session.mgt.eis.EnterpriseCacheSessionDAO
sessionManager.sessionDAO = $sessionDAO
securityManager.sessionManager = $sessionManager

sessionIdGenerator = org.nutz.integration.shiro.UU32SessionIdGenerator
securityManager.sessionManager.sessionDAO.sessionIdGenerator = $sessionIdGenerator


# cookie
sessionIdCookie = org.apache.shiro.web.servlet.SimpleCookie
sessionIdCookie.name = sid
sessionIdCookie.maxAge = 946080000
sessionIdCookie.httpOnly = true
sessionManager.sessionIdCookie = $sessionIdCookie
sessionManager.sessionIdCookieEnabled = true
sessionManager.globalSessionTimeout = 946080000

POM

<dependency>
            <groupId>org.nutz</groupId>
            <artifactId>nutz</artifactId>
            <version>1.r.62</version>
        </dependency>

        <dependency>
            <groupId>org.nutz</groupId>
            <artifactId>nutz-plugins-daocache</artifactId>
            <version>1.r.61.r2</version>
        </dependency>

        <dependency>
            <groupId>org.nutz</groupId>
            <artifactId>nutz-integration-quartz</artifactId>
            <version>1.r.61.r2</version>
        </dependency>

        <dependency>
            <groupId>org.nutz</groupId>
            <artifactId>nutz-integration-shiro</artifactId>
            <version>1.r.61.r2</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <groupId>org.nutz</groupId>
                    <artifactId>nutz</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

最近改过什么?? 什么时候是正常的?? 中间做过啥?

没有做过什么,就是加上了上面的 shiro部分,想将session托管给shiro,发现的这个错误

先把session清除一遍吧,然后看看变化

每次刷新页面我都做了这个操作

Subject subject = SecurityUtils.getSubject();
subject.logout();

每次logout是啥意思???

logout之后必须302重定向到其他页面

这个页面是登陆界面
保证访问登陆界面就清除session退出系统

这逻辑很诡异

是有点问题,之前没出错就没管它

Subject subject = SecurityUtils.getSubject();
        if(subject.isAuthenticated()){
            subject.logout();
        }

这样就对了

添加回复
请先登陆
回到顶部