这个问题困扰了一个下午,晚上在网上找了一些Struts入门教程看了一下,才发现问题关键,是因为我Struts.xml配置不对的缘故。我原来的Struts.xml代码如下:
xml version="1.0" encoding="UTF-8" ?> DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="Struts2" extends="struts-default"> <action name="query" class="chapter7.action.QueryAction"> <result name="result">/result.jspresult> <result name="error">/error.jspresult> action>package> struts>
需要将上面的代码改成如下代码:
xml version="1.0" encoding="UTF-8" ?> DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="Struts2" namespace="/" extends="struts-default"> <action name="query" class="chapter7.action.QueryAction"> <result name="result">/result.jspresult> <result name="error">/error.jspresult> action>package> struts>
即 namespace="/" extends="struts-default">。
action界面是通过 http://localhost:8080/StrutsTest1/query.action 来访问的。如果这里namespace改为namespace="/hello" ,则action界面的访问地址应该改为 http://localhost:8080/StrutsTest1/hello/query.action