刚开始将struts引用到自己以前的项目中,出现了诸多问题。
1>> Parse Error at line 1 column 15: Document is invalid: no grammar found.
org.xml.sax.SAXParseException: Document is invalid: no grammar found.
2>> Parse Error at line 1 column 15: Document root element "Struts-config", must match DOCTYPE root "null".
org.xml.sax.SAXParseException: Document root element "Struts-config", must match DOCTYPE root "null".
看着异常应该是SAX解析错误,个人认为造成这个原因是由于struts-config.xml书写不规范造成,也就是没有按照套路出现的异常(这种情况我很无奈。。。)
后来将struts包中的举例的xml拷贝,自己根据需要修改了。搞定。。。
3>> org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.
jsp页面报出404错误。
我首先检查了struts-config.xml只否正确加载,里面action是否正确初始化,方法是:
先通过 http://localhost:8081/BBS/login.do 确定 login.do的url是否能被正确的引用到config中。如果不能。那么就证明 struts-config.xml没正确加载。
后则发现<action-mappings>
<action path="/dateAction" //请求的相对路径,不带文件扩展名(注意)
type="com.struts.DateAction" //指定在发出请求时调用其执行方法的操作类的全限定名。
name="dateForm" //用于保存或发送至JSP页面的数据表单bean的名称。
scope="request" //将制定表单存储的作用域,session(默认)
validate="true" //
input="/index.jsp" //指定相对URL,若果表单的输入错误,则会调用URL
>
<forward name="success" path="/success.jsp"/>
<forward name="error" path="/error.jsp"/>
</action>
</action-mappings>
以上为个人观点,有错误或不足之处,望大家指出,多多指点。