Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:423)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
com.action.TalkAction.insertTalk(TalkAction.java:25)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

解决方案 »

  1.   

    这是TalkAction 类中的一部分
         public ActionForward insertTalk(ActionMapping mapping,ActionForm form,
                                  HttpServletRequest request,
        HttpServletResponse response)
         {   
             TalkForm   talkForm=(TalkForm)form;
          System.out.println(talkForm);
            talkForm.setTopic(Chinese.toChinese(talkForm.getTopic()));     //第25行
         talkForm.setContent(Chinese.toChinese(talkForm.getContent()));
         talkForm.setWho(Chinese.toChinese(talkForm.getWho()));
         dao.insertTalk(talkForm);
         request.setAttribute("success","添加留言成功!!!");
          return mapping.findForward("insertTalk");
         }
      

  2.   

    只从你给的代码并不能确定,talkForm.getTopic()为空的可能性比较大一些  
      

  3.   

    如果topic是String的话:
    talkForm.setTopic(Chinese.toChinese(talkForm.getTopic() + ""));           //第25行 
      

  4.   


    public   ActionForward   insertTalk(ActionMapping   mapping,ActionForm   form, 
                                        HttpServletRequest   request,  HttpServletResponse   response)  {       
        TalkForm       talkForm=(TalkForm)form; 
        System.out.println(talkForm);
        if(talkForm.getTopic() != null)
            talkForm.setTopic(Chinese.toChinese(talkForm.getTopic()));           //第25行 
        if(talkForm.getContent() != null)
             talkForm.setContent(Chinese.toChinese(talkForm.getContent()));
        if(talkForm.getContent() != getWho)
            talkForm.setWho(Chinese.toChinese(talkForm.getWho())); 
        dao.insertTalk(talkForm); 
        request.setAttribute( "success ", "添加留言成功!!! "); 
        return   mapping.findForward( "insertTalk "); 

    如果还不行,则将System.out.println(talkForm);结果贴出来.另外Chinese.toChinese()方法也顺便看下怎么处理的.
    你在数据库里设置字段不为空,那是在数据库里嘛,JAVA程序也要限制不能为空噢.!
      

  5.   

    按照你的设置不为空,还是打出了:
    2007-11-13 4:38:25 org.apache.struts.util.RequestUtils createActionForm
    严重: Error creating form bean of class com.actionForm.TalkForm
    java.lang.NullPointerException
    at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:214)
    增加了System.out.println(talkForm),控制台上输出是null,
    有碰过同样问题的朋友,解决了,麻烦说下
    不过还是先谢谢你(xiaokunyu)
      

  6.   

    talkForm是空啊
    检查一下你的struts-config里的form-bean指向的是不是TalkForm       
      

  7.   

    我在struts-config里的form-bean指向了talkForm;
    希望能有人帮我找出,测试依然是:
    2007-11-13 21:53:04 org.apache.struts.util.RequestUtils createActionForm
    严重: Error creating form bean of class com.actionForm.TalkForm
    java.lang.NullPointerException
    at org.apache.struts.config.FormBeanConfig.createActionForm(FormBeanConfig.java:214)
      

  8.   

    24行设置一个断点看看talkForm是不是为空
      

  9.   

      既然一開始form就為空,那下面的得到form屬性肯定也就為空咯。
    既然你這句  TalkForm       talkForm=(TalkForm)form; 
     放在insertTalk 方法的第一句,那就肯定是你的配置文件里配置出錯了.
      貼出你的配置文件吧 struts的。