`

Struts1.2常见错误汇总

阅读更多

 

Struts常见错误汇总
以下所说的struts-config.xml和ApplicationResources.properties等文件名是缺省时使用的,如果你使用了多模块,或指定了不同的资源文件名称,这些名字要做相应的修改。

  1、“No bean found under attribute key XXX”
  在struts-config.xml里定义了一个ActionForm,但type属性指定的类不存在,type属性的值应该是Form类的全名。或者是,在Action的定义中,name或attribute属性指定的ActionForm不存在。

  2、“Cannot find bean XXX in any scope”
  在Action里一般会request.setAttribute()一些对象,然后在转向的jsp文件里(用tag或request.getAttribute()方法)得到这些对象并显示出来。这个异常是说jsp要得到一个对象,但前面的Action里并没有将对象设置到request(也可以是session、servletContext)里。
可能是名字错了,请检查jsp里的tag的一般是name属性,或getAttribute()方法的参数值;或者是Action逻辑有问题没有执行setAttribute()方法就先转向了。
还有另外一个可能,纯粹是jsp文件的问题,例如<logic:iterate>会指定一个id值,然后在循环里<bean:write>使用这个值作为name的值,如果这两个值不同,也会出现此异常。(都是一个道理,request里没有对应的对象。)

  3、“Missing message for key "XXX"”
  缺少所需的资源,检查ApplicationResources.properties文件里是否有jsp文件里需要的资源,例如:
  <bean:message key="msg.name.prompt"/>
  这行代码会找msg.name.prompt资源,如果AppliationResources.properties里没有这个资源就会出现本异常。在使用多模块时,要注意在模块的struts-config-xxx.xml里指定要使用的资源文件名称,否则当然什么资源也找不到,这也是一个很容易犯的错误。

  4、“No getter method for property XXX of bean teacher”
  这条异常信息说得很明白,jsp里要取一个bean的属性出来,但这个bean并没有这个属性。你应该检查jsp中某个标签的property属性的值。例如下面代码中的cade应该改为code才对:
  <bean:write name="teacher" property="cade" filter="true"/>

  5、“Cannot find ActionMappings or ActionFormBeans collection”
  待解决。

  6、“Cannot retrieve mapping for action XXX”
  在.jsp的<form>标签里指定action=&apos;/XXX&apos;,但这个Action并未在struts-config.xml里设置过。

  7、HTTP Status 404 - /xxx/xxx.jsp
  Forward的path属性指向的jsp页面不存在,请检查路径和模块,对于同一模块中的Action转向,path中不应包含模块名;模块间转向,记住使用contextRelative="true"。

  8、没有任何异常信息,显示空白页面
  可能是Action里使用的forward与struts-config.xml里定义的forward名称不匹配。

  9、“The element type "XXX" must be terminated by the matching end-tag "XXX".”
  这个是struts-config.xml文件的格式错误,仔细检查它是否是良构的xml文件,关于xml文件的格式这里就不赘述了。

  10、“Servlet.init() for servlet action threw exception”
  一般出现这种异常在后面会显示一个关于ActionServlet的异常堆栈信息,其中指出了异常具体出现在代码的哪一行。我曾经遇到的一次提示如下:

  java.lang.NullPointerException
   at org.apache.struts.action.ActionServlet.parseModuleConfigFile(ActionServlet.java:1003)
   at org.apache.struts.action.ActionServlet.initModuleConfig(ActionServlet.java:955)

  为解决问题,先下载struts的源码包,然后在ActionServlet.java的第1003行插入断点,并对各变量进行监视。很丢人,我竟然把struts-config.xml文件弄丢了,因此出现了上面的异常,应该是和CVS同步时不小心删除的。

  11、“Resources not defined for Validator”
  这个是利用Validator插件做验证时可能出现的异常,这时你要检查validation.xml文件,看里面使用的资源是否确实有定义,form的名称是否正确,等等。

分享到:
评论

相关推荐

    struts1.2驱动包

    Struts1.2驱动包是Java Web开发中一个重要的组件,它是Apache Struts框架的特定版本,用于支持基于Model-View-Controller (MVC)设计模式的应用程序开发。Struts1.2因其稳定性和广泛的功能集而在过去备受推崇,尤其在...

    struts1.2资源整合

    Struts1.2是Apache软件基金会的开源框架,主要用于构建基于Java的企业级Web应用程序。它遵循Model-View-Controller(MVC)设计模式,提供了一种结构化的方式来组织应用程序,从而提高了开发效率和代码可维护性。这次...

    struts1.2 + spring2.5 + hibernate3.2框架demo

    Struts1.2、Spring2.5和Hibernate3.2是经典的Java企业级开发框架组合,它们各自在应用程序的不同层次上发挥着重要作用。Struts1.2是一个MVC(Model-View-Controller)框架,主要负责处理用户界面与业务逻辑之间的...

    Struts1.2中文学习手册

    Struts1.2是Apache软件基金会的Jakarta项目下的一个开源框架,主要用于构建基于Java的Web应用程序。这个框架提供了一种组织应用结构和控制应用程序流程的方式,极大地简化了MVC(Model-View-Controller)模式的实现...

    struts1.2下载包

    Struts1.2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的主要目的是为了简化开发过程,提高代码的可维护性和可重用性。在JSP中,Struts...

    STRUTS1.2中文文档

    Struts1.2是Apache软件基金会的Jakarta项目下的一个开源框架,主要用于构建基于Java的Web应用程序。这个框架的核心是Model-View-Controller(MVC)设计模式,它提供了一种结构化的、可扩展的方式来组织和管理应用的...

    struts、struts1.2 学习教程

    Struts1.2是该框架的一个早期版本,虽然现在已经被Struts2所取代,但在许多遗留系统中仍然广泛使用。本教程将深入探讨Struts1.2的核心概念、功能以及与Struts2的区别。 一、Struts框架基础 1. **MVC模式**:Struts...

    struts1.2 jar包

    Struts1.2是一款历史悠久且广泛使用的Java Web框架,它基于Model-View-Controller(MVC)设计模式,为开发人员提供了构建动态、数据驱动的Web应用的强大工具。该框架在2004年首次发布,是Apache软件基金会的一个项目...

    struts1.2标签实例

    Struts1.2标签是Java Web开发中Struts框架的一部分,它提供了一种在JSP页面中更加便捷、可维护的方式来处理业务逻辑和控制流程。Struts1.2标签库大大简化了视图层的开发,使开发者可以避免过多地在JSP中编写Java脚本...

    struts1.2 from表单提交包含list的对象

    Struts1.2框架是Apache组织开发的一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。在Struts1.2中处理表单提交,特别是当表单数据包含列表对象时,需要理解一些核心概念和技术。这篇博客文章...

    struts 1.2驱动包

    Struts 1.2驱动包是Apache软件基金会开发的一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。它旨在提供一个结构化的、可扩展的平台,帮助开发者构建更易于维护和管理的Web应用。Struts 1.2...

    Struts 1.2 API详细讲解.rar

    Struts 1.2 是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,由Apache软件基金会开发。它极大地简化了构建动态、数据驱动的Web应用的过程,提高了开发效率和代码的可维护性。这个压缩包文件...

    struts 1.2 类库和源码

    Struts 1.2 是一个历史悠久的Java Web框架,由Apache软件基金会开发,它在Web应用开发领域曾经占据了重要的地位。这个压缩包包含了Struts 1.2版本的类库和源码,使得开发者能够方便地研究和学习这个经典框架的工作...

    struts1.2 简单文件上传例子

    Struts1.2是一个经典的Java Web框架,由Apache软件基金会开发。它提供了MVC(Model-View-Controller)设计模式的实现,使得开发者能够更方便地构建可维护、可扩展的Web应用程序。在这个"struts1.2简单文件上传例子...

    struts1.2.jar包

    7. **异常处理**:Struts1.2提供了统一的异常处理机制,可以在全局范围内捕获和处理应用程序中的异常,简化错误处理流程。 8. **ActionMapping**:ActionMapping对象描述了用户请求如何映射到特定的Action实例。它...

    基于Struts1.2的上传下载Demo

    Struts1.2是一个经典的Java Web开发框架,它在早期的Web应用开发中扮演了重要角色,尤其是在MVC(Model-View-Controller)设计模式的实现上。本项目"基于Struts1.2的上传下载Demo"是针对该框架的一个实践示例,旨在...

    struts1.2拦截器使用插件

    Struts1.2是Apache软件基金会的Jakarta项目下的一个开源框架,主要用于构建基于Java的Web应用程序。在Struts1.2中,拦截器(Interceptor)是一个非常关键的组件,它实现了AOP(面向切面编程)的概念,使得开发者可以...

    struts1.2源代码及文档

    4. **异常处理**:Struts1.2有一套完整的异常处理机制,学习如何自定义错误页面和异常处理器。 5. **国际化**:Struts1.2支持多语言,查看源代码了解它是如何实现的,这对于开发全球化应用很有帮助。 6. **性能...

    struts1.2源码研究

    Struts 1.2在SSH(Spring、Struts、Hibernate)集成开发中占有重要地位,是Java EE应用中的常见组件。 **Struts 1.2 的核心组件及实现机制** 1. **ActionServlet**:作为前端控制器,ActionServlet在Web应用启动时...

Global site tag (gtag.js) - Google Analytics