怎么就报这个错呢:resources cannot be null

abcd4321 2004-10-20 08:46:08
按照书的例子做的,检查N遍写的没问题,利用actionform的jsp页面显示没问题,但是一旦submit就显示错误:resources cannot be null.struts-config.xml,web.xml配置应该都没问题啊!郁闷
...全文
1667 1 收藏 32
写回复
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
fireflyjava 2005-01-02
1.resources cannot be null 主要原因应该是没有定义actionform。
2.struts1.2.4中要把 perform()方法改成execute()方法
如:public ActionForward execute(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)throws Exception

下次一起学习 :)
msn:likun35@hotmail.com
回复
du9232 2004-10-21
恭喜。解决了就好。
我上次碰到同样的问题不过原因和你不一样
回复
abcd4321 2004-10-21
问题解决了,我按照的是书上struts1.1的例子做的,没有做actionform,直接作了一个独立的类(没有任何继承),但是我使用的是struts1.2,必须要有actionform,并且需要把action中的perform()方法改成excute()方法,其中返回值和参数不变。希望初学struts的朋友,如果学习中遇到这样的问题能够注意
回复
cc0731rw 2004-10-20
是不是<message-resources parameter="ApplicationResources" />这个的问题呢?
ApplicationResources.properties这个文件是不是在你的WEB-INF/classes路径下呢?
如果没有在的话把ApplicationResources.properties文件放到你的WEB-INF/classes路径下,然后把代码改为<message-resources parameter="ApplicationResources" null="false" />
回复
abcd4321 2004-10-20
我觉得bean在页面生成的时候就已经被实例化了,至于resources cannot be null 会不会是系统的配置问题呢?但是我运行struts自带的例子就没有错误!!!
回复
abcd4321 2004-10-20
struts里面的例子我运行没有错误,但是我自己做的出现这种毛病,很令人费解。
应该不是包的问题,因为我把bean删除后重新打开页面系统提示我无法生成该bean的实例,因此系统能找到这个bean的,并且我按照你说的做了,但是还是提示同样的错误
回复
umbrella1984 2004-10-20
你建个文件夹把你的BEAN放这文件加下,然后改成type="文件夹名.BookAction"
BEAN源文件上面加上
package 文件夹名.BookAction
重新编译

你可以拿STRUTS里面的一个简单的例子看看。
回复
abcd4321 2004-10-20
to 雨伞:
加上后还是一样的错误,还有我的BEAN不在任何包中
回复
umbrella1984 2004-10-20
<html:form action="/createBook.do" method="GET">
....
<action path="/createBook"
type="BookAction"//加上包名
name="bookForm"
scope="request"
input="/CreateBook.jsp">
</action>

回复
abcd4321 2004-10-20
难道是我对问题说明的不够详细?
CreateBook.jsp:
<%@ page language="java"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>

<html:html locale="true">
<h2>Create a book</h2>
<body>
<html:errors/>b
<html:form action="createBook.do" method="GET">
Title:<html:text property="title"/><br/>
<html:submit property="submit"/>
</html:form>

</body>
</html:html>
=====================================================
struts-config.xml:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd">
<!--
Default configuration file for examples application.
Each module also has its own struts-config under: /WEB-INF/$MODULE/
@version $Revision: 1.9 $ $Date: 2004/09/07 02:50:06 $
-->
<struts-config>
<form-beans>
<form-bean name="bookForm" type="Book"/>
</form-beans>

<global-forwards>
<forward name="bookCreated" path="/BookView.jsp"/>
</global-forwards>

<action-mappings>
<action path="/createBook"
type="BookAction"
name="bookForm"
scope="request"
input="/CreateBook.jsp">
</action>

</action-mappings>

<message-resources parameter="ApplicationResources" />
</struts-config>
==================================================
所用到的bean都编译通过没问题。
打开CreateBook.jsp没问题,但一旦发送就出错:
HTTP Status 500 -

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

type Exception report

message

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

exception

java.lang.IllegalArgumentException: Resources cannot be null.
org.apache.commons.validator.Validator.(Validator.java:188)
org.apache.struts.validator.Resources.initValidator(Resources.java:299)
org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java:106)
org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:921)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:206)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)


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


回复
tom2005 2004-10-20
up
回复
abcd4321 2004-10-20
自己再顶
回复
abcd4321 2004-10-20
帮顶有分啊!!!!不够再加
回复
zhoudut 2004-10-20
你的formbean里面应该有title这个属性
并且应该有setTitle()
getTitle()
方法
回复
zhoudut 2004-10-20
你的formbean贴出来看看
回复
umbrella1984 2004-10-20
把你的createBook源码类贴出来
回复
abcd4321 2004-10-20
都下班了???
回复
abcd4321 2004-10-20
救人哪!!!!诸位兄弟能帮就拉兄弟一把吧!!!我实在没辙了
回复
abcd4321 2004-10-20
我把这段代码加到struts自带的例子中同样出现这样的错误,真大爷的见鬼了
回复
snow_jin 2004-10-20
看见多余的东西就删掉,记得重启tomcat,再调。
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告