【问题管理】-- Struts2配置struts.xml中Action访问报There is no Action mapped for namespace...
程序员文章站
2022-05-04 12:05:06
问题背景: 在做Struts2学习的页面访问时,配置了如下的两个返回结果视图:
问题背景:
在做struts2学习的页面访问时,配置了如下的两个<action>返回结果视图:
<?xml version="1.0" encoding="utf-8" ?> <!doctype struts public "-//apache software foundation//dtd struts configuration 2.3//en" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.enable.dynamicmethodinvocation" value="false" /> <!--开发模式;修改配置文件不需要重启服务器--> <!--指的struts.xml,其它的配置文件修改依然还是需要重启--> <!--自动重新加载配置文件,不一定会绝对成功。--> <constant name="struts.devmode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <action name="index" class="cn.yif.action.useraction" method="execute"> <!--局部结果视图:在一个action标签中配置,将<result>作为<action>子元素配置;只有这个action可以使用--> <result name="success" type="dispatcher"> /success.jsp </result> <!--success与error都是逻辑视图名称,决定响应哪个结果--> <result name="error" type="dispatcher"> /error.jsp </result> </action> <action name="example" class="cn.yif.action.exampleaction" method="test"> <result name="testexample" type="dispatcher"> /web-inf/view/test.jsp </result> </action> </package> </struts>
在访问第二个结果视图的action页面时,直接抛出了messages:
- there is no action mapped for namespace [/] and action name [testexample] associated with context path []。
具体修改措施:
在web.xml文件中做如下配置,修改默认访问的页面为index.jsp页面,只需修改<welcome-file-list>即可:
<?xml version="1.0" encoding="utf-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <display-name>struts blank</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
最终问题得到解决:
参考博文: