安装jive 后,post.jsp 出错

04-06-16 shaw22
请高手指教,我在www.jdon.com 下载了jivejdon-2.5,安装后,post.jsp

出错(登陆后发新贴子功能),但别的功能没有问题,请指教! 万分感激!

post.jsp 版本:

* $RCSfile: post.jsp,v $

* $Revision: 1.3 $

* $Date: 2002/10/23 14:36:14 $

配置:Tomcat 4.1 , mysql

出错信息:

    java.lang.NullPointerException
	at org.apache.jsp.post_jsp._jspService(post_jsp.java:159)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
...........
<p>

请指教! 万分感激!

第159行的代码:

    if (reply) {
        if (!forum.hasPermission(ForumPermissions.CREATE_MESSAGE)
                && !myEnv.getForumFactory().hasPermission(ForumPermissions.CREATE_MESSAGE))
        {
            if (isGuest) {
                login = true;
            } else {
                throw new UnauthorizedException("没有在此论坛发表回复的权限");
            }
        }
    }

而我自己发现似乎在88行后,这一段

    // If authToken is null, make an anonymous login:
    if (authToken == null) {
        authToken = AuthorizationFactory.getAnonymousAuthorization();
    }
    boolean isGuest = authToken.isAnonymous();
    // Get the forum factory object.
    ForumFactory forumFactory = ForumFactory.getInstance(authToken);
    // Get the user of this page
    User pageUser = null;
    if (!isGuest) {
	    pageUser = myEnv.getForumFactory().getUserManager().getUser(authToken.getUserID());
    }

似乎是pageUser = myEnv.getForumFactory().getUserManager().getUser(authToken.getUserID()); 没被正确赋值, 怎么改?我已经登陆了啊!怎么会没有 pageUser 呢?

shaw22
2004-06-16 17:57
呵呵,我已经搞定了!

把post.jsp 里的所有

myEnv.getForumFactory(). 
<p>

换成

forumFactory.
<p>

就好了!

如:把

pageUser = myEnv.getForumFactory().getUserManager().getUser(authToken.getUserID());

换成:

pageUser = forumFactory.getUserManager().getUser(authToken.getUserID());

为什么这样就好了? 原因还不太懂! 嘻嘻!请高手指教!

明明 myEnv 对象已经有值了啊?

关键的值如下

authToken=2 forumFactory=com.jivesoftware.forum.ForumFactoryProxy@c7b077 myEnv=com.jdon.web.UserEnvFront@13401d7 
pageUser=shaw22 
<p>

lpf_webimation
2004-06-30 12:01
楼上的大哥

我按照你说的方法变了呀,可是还是不可以,能帮我再指点一下吗?

猜你喜欢