There is no Action mapped for namespace / and action name 通配符的问题
之前看了一些struts2的视频。
现在复习了下 struts2.发现了这个问题
网上的说的解决办法大都没提到这个问题,1%的文章提到了新版本的struts中 method的问题
There is no Action mapped for namespace / and action name XXX
http://localhost:8080/Struts2Learn/loginAction_login.action
原因不详。
解决办法:
通配符 * 的使用方法中。
struts-2.5.10.1版本下,struts.xml中 action 的配置里面 不需要指定method 属性
struts.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <!DOCTYPE struts 4 PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" 5 "http://struts.apache.org/dtds/struts-2.5.dtd" > 6 <struts> 7 <package name="user" namespace="/" extends="struts-default"> 8 <action name="loginAction_*" class="com.learn.LoginAction" method={1}> <!--不需要method={1}--> 9 <result name="success">/loginSuccess.jsp</result> 10 <result name="fail">/loginFail.jsp</result> 11 </action> 12 </package> 13 </struts>
com.learn.LoginAction
1 package com.learn; 2 3 import com.opensymphony.xwork2.ActionSupport; 4 5 public class LoginAction extends ActionSupport { 6 7 private static final long serialVersionUID = 1L; 8 private String username; 9 private String password; 10 11 public String getUsername() { 12 return username; 13 } 14 15 public void setUsername(String username) { 16 this.username = username; 17 } 18 19 public String getPassword() { 20 return password; 21 } 22 23 public void setPassword(String password) { 24 this.password = password; 25 } 26 public String loginn() throws Exception { 27 System.out.println("login()"); 28 return "success"; 29 30 } 31 32 }
访问连接
http://localhost:8080/Struts2Learn/loginAction_loginn.action