`
阅读更多

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /form/user.jsp at line 13

10: 		<div style="border: 1px dashed red">${message }</div>
11: 		<html:form action="/user">
12: 			username : <html:text property="user.name"/><br/>
13: 			userpwd : <html:text property="userinfo.pwd"/><br/>
14: 			<html:submit value="LOGIN"/>
15: 		</html:form>
16: 	</body>


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:519)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

 

root cause

javax.servlet.ServletException: javax.servlet.jsp.JspException: No getter method for property userinfo.pwd of bean org.apache.struts.taglib.html.BEAN
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
	org.apache.jsp.form.user_jsp._jspService(user_jsp.java:86)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

 

root cause

javax.servlet.jsp.JspException: No getter method for property userinfo.pwd of bean org.apache.struts.taglib.html.BEAN
	org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:973)
	org.apache.struts.taglib.html.BaseFieldTag.prepareValue(BaseFieldTag.java:121)
	org.apache.struts.taglib.html.BaseFieldTag.renderInputElement(BaseFieldTag.java:102)
	org.apache.struts.taglib.html.BaseFieldTag.doStartTag(BaseFieldTag.java:81)
	org.apache.jsp.form.user_jsp._jspx_meth_html_005ftext_005f1(user_jsp.java:162)
	org.apache.jsp.form.user_jsp._jspx_meth_html_005fform_005f0(user_jsp.java:112)
	org.apache.jsp.form.user_jsp._jspService(user_jsp.java:76)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

 

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.


Apache Tomcat/6.0.32

-------------------------------------------------------------------------------------------------

分析了很多原因~

这报错的原因是:ActionForm 的实现中和JSP不统一。因为 userinfo.pwd 会被解析为 getUserinfo.getPwd 这样的嵌套语句,这些和Actionform中是统一的,这是面向对象的一个特征之一~

看来得注意统一性问题,当然,透彻了解Struts 标签库原理才是,最终的办法~

 

以下是错误出错比对~

这是JSP中的 Struts 标签 

11: <html:form action="/user">
12: username : <html:text property="user.name"/><br/>
13: userpwd : <html:text property="userinfo.pwd"/><br/>
14: <html:submit value="LOGIN"/>
15: </html:form>

 

这是ActionForm 定义

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yourcompany.struts.form;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import com.entity.Userinfo;

/**
 * MyEclipse Struts
 * Creation date: 09-20-2011
 *
 * XDoclet definition:
 * @struts.form name="userForm"
 */
public class UserForm extends ActionForm {
 /*
  * Generated fields
  */

 /** user property */
 private Userinfo user;

 /*
  * Generated Methods
  */

 /**
  * Method validate
  * @param mapping
  * @param request
  * @return ActionErrors
  */
 public ActionErrors validate(ActionMapping mapping,
   HttpServletRequest request) {
  // TODO Auto-generated method stub
  return null;
 }

 /**
  * Method reset
  * @param mapping
  * @param request
  */
 public void reset(ActionMapping mapping, HttpServletRequest request) {
  // TODO Auto-generated method stub
 }

 /**
  * Returns the user.
  * @return Userinfo
  */
 public Userinfo getUser() {
  return user;
 }

 /**
  * Set the user.
  * @param user The user to set
  */
 public void setUser(Userinfo user) {
  this.user = user;
 }
}

分享到:
评论

相关推荐

    struts-2.3.31-all.zip

    8. **异常处理**:Struts2提供了一套全面的异常处理机制,能够优雅地处理运行时异常并生成相应的错误页面。 在使用struts-2.3.31-all.zip压缩包时,通常会包含以下组件: - `struts2-core.jar`:框架核心库,包含...

    struts-json-plugin-2.1.8.jar struts2-junit-plugin-2.1.8.jar json-lib-2.1.jar

    这样做可以确保Struts2框架与JSON插件之间通信的顺畅,减少因版本不兼容而引发的异常。 在开发过程中,合理管理和更新库文件至关重要,因为不同的库版本可能会引入新的特性、修复错误,或者与其他库产生冲突。对于...

    struts-2.3.8-all.zip

    7. **异常处理**: Struts2提供了全局的异常处理机制,可以捕获并处理应用程序中的异常,避免了在每个Action中重复的错误处理代码。 在"struts-2.3.8"目录下,通常会包含以下内容: - `struts2-core`: 核心库,包含...

    struts-1.3.8-all.jar

    8. **异常处理**:Struts 提供了一套优雅的异常处理机制,可以全局统一处理应用程序中的异常,提高用户体验。 9. **标签库**:Struts 自带了一系列 JSP 标签,如 `&lt;s:form&gt;`、`&lt;s:textfield&gt;` 等,简化了视图层的...

    struts2-json-plugin-2.3.8.jar

    在实际开发中,为了使用这个插件,你需要将`struts2-json-plugin-2.3.8.jar`文件放入项目的类路径(classpath)下,然后在Struts2的配置文件(通常为struts.xml)中启用JSON插件。在Action类中,定义返回JSON数据的...

    struts2-showcase.rar

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用框架,用于简化Java企业级应用的开发。它是由Apache软件基金会维护,是Struts1的后续版本,提供更强大、更灵活的架构。 1. **Action和结果...

    struts-2.0.14-src.zip

    XWork是一个轻量级的框架,提供了许多核心功能,如类型转换、拦截器、异常处理等,这些在Struts2中被广泛应用。因此,为了全面理解Struts2,下载并研究XWork的源码也是非常必要的。 在【标签】中,我们看到了...

    struts-2.5.12-all

    10. **异常处理**:Struts2提供了一套强大的异常处理机制,允许开发者自定义错误页面和全局异常处理策略。 在实际项目中,Struts2可以帮助开发者快速搭建web应用,减少代码重复,提高代码可维护性。但随着技术的...

    struts-2.3.24-all.zip

    Struts 2是Java开发中的一个开源MVC框架,它基于Model-View-Controller(模型-视图-控制器)设计模式,旨在简化企业级Web应用的开发。此压缩包"struts-2.3.24-all.zip"包含了Struts 2框架的完整版本2.3.24,以及一些...

    struts-2.3.28-all - .zip

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web应用程序框架,它在Web开发领域具有广泛的应用。Struts2的核心是Action类,它负责接收HTTP请求,并通过配置的拦截器链来处理业务逻辑,最终将结果...

    struts-2.5.20-all.zip

    在Web开发领域,Struts2以其灵活性、可扩展性和易用性而广受欢迎。这个"struts-2.5.20-all.zip"压缩包包含了Struts2框架的完整版本,版本号为2.5.20,这通常包括框架的核心库、示例程序、文档以及可能的更新和补丁。...

    struts-2.5.16-min-lib

    - **Struts-2.5.16.jar**:这是Struts2框架的核心库,包含了Action、Result、Interceptor等核心概念的实现,以及配置管理、异常处理等关键功能。 - **xwork-core-2.5.16.jar**:XWork是Struts2的基础,提供了...

    struts-2.5.20-min-lib.zip

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java web应用程序框架,它极大地简化了Java web开发过程。Struts2的核心是Action,它处理来自客户端的请求,并通过Result来展示响应。在本压缩包"struts-...

    struts-2.3.33-all.zip

    这个框架基于Apache软件基金会的Jakarta Struts项目,它提供了丰富的功能来简化开发过程,提高代码的可维护性和可扩展性。Struts 2的核心在于其Action和Result机制,它通过拦截器实现业务逻辑的处理和视图的渲染。 ...

    struts-2.5所有jar包

    - **异常处理**:Struts2提供了全局的异常处理机制,可以通过全局结果类型来处理未捕获的异常。 总的来说,Struts2.5提供的所有jar包是一个完整的框架环境,允许开发者快速构建和部署Java Web应用程序。理解并掌握...

    struts-1.2.9-bin 及 struts-1.2.9-src

    2. **异常处理**:提供统一的异常处理机制,简化错误和异常的管理。 3. **插件体系**:允许添加自定义插件来扩展框架功能。 4. **配置文件**:基于XML的配置文件(struts-config.xml和web.xml),用于定义Action、...

    struts-1.2.9-all

    学习和使用“struts-1.2.9-all”,不仅可以帮助我们掌握Struts 1.x的基础知识,还可以提升我们在Java Web开发中的能力,包括MVC模式的应用、配置文件的编写、异常处理、国际化策略等。同时,对于有志于深入研究和...

    struts-2.3.7-src.zip

    Struts 2是一个非常流行的Java Web应用程序框架,它基于Model-View-Controller(MVC)设计模式,旨在简化开发过程并提高代码的可维护性。Struts 2的2.3.7版本被誉为该系列中的佼佼者,因为它集成了众多功能改进和...

    struts-2.3.4笔记

    6. **异常处理**:Struts 2 提供了全局和局部的异常处理机制。全局异常处理通过 `&lt;global-exception-mappings&gt;` 标签定义,而局部异常处理则在 Action 类中使用 `@ExceptionHandler` 注解。 7. **国际化...

    struts-1.2.9-lib

    总而言之,Struts 1.2.9是Java Web开发中的一个重要里程碑,它的出现极大地推动了MVC架构在Web领域的普及,虽然现在已被更新的Struts 2和Spring MVC等框架取代,但其设计理念和核心思想仍然对现代Web开发有着深远的...

Global site tag (gtag.js) - Google Analytics