错误描述
javax.servlet.ServletException: Exception creating bean of class com.Blog.Form.LogForm:
说是我这个bean无法创建,困扰了两天没解决,特求助大虾们,初学者不慎感谢!(已问过百度大神没解决==!)相关代码
在main.jsp中单击一个按钮调用
document.forms[0].action='<%=request.getContextPath()%>/BlogAction.do?method=addBlog&username=' + emp;
document.forms[0].submit();
跳转到/jsp/newBlog.jsp这个JSP页面报上面的错误其中newBlog.jsp这个的代码是
<script>
function onClear()
{
var title = document.getElementById(logTitle);
title.value = "";
}
funcion onInit()
{
var title = document.getElementById(logTitle);
title.value = "在这里输入标题";
} function onAction(value)
{
var username = '<%=request.getParameter("username")%>';
alert(username);
switch(value)
{
case 1:
document.forms[0].action='<%=request.getContextPath()%>/LogAction.do?method=addLog&username=' + username;
document.forms[0].submit();
break;
case 2:
break;
default:
break;
};
}</script><body  onload="javascript:onInit()">
<html:form action="/LogAction.do" method="post">
<table width="100%" border="0" height="100%">
<tr>
<td width="12%" height="100%"></td>
   <td bgcolor="white" width="76%" height="100%">
   <table width="100%" border="0" height="100%">
   <tr height="10%" align="left">
   <td width="100%" >
   <html:text property="logTitle" maxlength="200" size="100%" onclick="javascript:onClear()"/>
   </td>
   </tr>
   <tr height="50%" align="left">
   <td width="100%">
   <html:textarea property="logContent" cols="100" rows="40" />
   </td>
   </tr>
   <tr height="40%" align="left">
   <td>
   <input type="button" value="保存日志" onclick="javascript:onAction(1)"/>
   <input type="button" value="更新日志" onclick="javascript:onAction(2)"/>
   </td>
   </tr>
   </table>
   </td>
   <td width="12%" height="100%"></td>
</tr>
</table>
</html:form>
</body>struts-config.xml中的代码如以下
<struts-config>
  <data-sources />
  <form-beans >
   <form-bean name="loginForm" type="com.Blog.Form.LoginForm" >
   <form-property name="userName" type="java.lang.String" />
   <form-property name="userPass" type="java.lang.String" />
   <form-property name="isSave" type="java.lang.Boolean" />
   </form-bean>
   <form-bean name="blogForm" type="org.apache.struts.validator.DynaValidatorForm" />
   <form-bean name="logForm" type="com.Blog.Form.LogForm" >
   <form-property name="logTitle" type="java.lang.String" />
   <form-property name="logContent" type="java.lang.String" />
   </form-bean>
  </form-beans>
  <global-exceptions />
  <global-forwards >
   <forward name="Error" path="/jsp/main.jsp" />
  </global-forwards>
  <action-mappings >
  <action path="/login"
     type="com.Blog.Action.LoginAction"
     name="loginForm"
     scope="request"
     validate="true"
     input="/index.jsp">
   <forward name="loginSucc" path="/jsp/main.jsp"/>
    <forward name="loginFail" path="/index.jsp"/>
  </action>
  
  <action path="/BlogAction"
     type="com.Blog.Action.BlogAction"
     name="blogForm"
     scope="request"
     validate="false"
     parameter="method"
     input="/jsp/main.jsp">
<forward name="newBlog" path="/jsp/newBlog.jsp" redirect="true"/>
  </action>
 
  <action path="/LogAction"
     type="com.Blog.Action.LogAction"
     name="logForm"
     scope="request"
     validate="false"
     parameter="method"
     input="/jsp/newBlog.jsp">
<forward name="saveLog" path="/jsp/main.jsp" />
<forward name="updateLog" path="/jsp/main.jsp" />
  </action>  </action-mappings>
  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>LogForm.java代码是
package com.Blog.Form;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;public class LogForm extends ActionForm{
private String logTitle = null;
private String logContent = null;

LogForm(){
super();
}

LogForm(String logTitle,String logContent){
this.logTitle = logTitle;
this.logContent = logContent;
}

public String getLogTitle(){
return this.logTitle;
}

public String getLogContent(){
return this.logContent;
}

public void setLogTitle(String logTitle){
this.logTitle = logTitle;
}

public void setLogContent(String logContent){
this.logContent = logContent;
}

public void reset(ActionMapping mapping,HttpServletRequest request){
this.logTitle = null;
this.logContent = null;
super.reset(mapping, request);
}

public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){
return super.validate(mapping, request);
}
}

解决方案 »

  1.   


     creating bean of class com.Blog.Form.LogForm
    报错是创建类失败!
      

  2.   

    document.forms[0].action='<%=request.getContextPath()%>/BlogAction.do?method=addBlog&username=' + emp;
    还有,不解的是,为什么你非要用这么绝对的路径呀,可以用相对路径吧
    还有你可以通过alert看下路径呀
      

  3.   

    如果将newBlog.jsp改成只显示一串字符是不会报错的.
      

  4.   

    2楼正解,确实是com.Blog.Form.LogForm这个类创建失败,原因是这个类的构造函数没写public,低级错误,谢谢大家帮我查找错误.再次感谢!
      

  5.   

    forward name="newBlog" path="/jsp/newBlog.jsp" redirect="true"/>
    这个的问题
    redirect="true