Struts2 简单的Action访问问题
struts.xml<packagename="default"namespace="/"extends="struts-default"><actionname="Lo...
struts.xml
<package name="default" namespace="/" extends="struts-default">
<action name="Login" class="mvc.web.controller.login_register.LoginController">
<result name="success">
/WEB-INF/jsp/Login.jsp
</result>
</action>
</package>
mvc.web.controller.login_register.LoginController:
public class LoginController extends ActionSupport{
private LoginForm loginForm;
public String execute(){
System.out.println("!!!!!!!!!!");
return SUCCESS;
}
public String add(){
System.out.println("!!!CS");
return SUCCESS;
}
}
访问时,localhost:....../Login 没有错误
访问 localhost:....../Login!add时报错
错误信息There is no Action mapped for namespace [/] and action name [Login!add] associated with context path [/Struts2]. - [unknown location]
求助~~ 展开
<package name="default" namespace="/" extends="struts-default">
<action name="Login" class="mvc.web.controller.login_register.LoginController">
<result name="success">
/WEB-INF/jsp/Login.jsp
</result>
</action>
</package>
mvc.web.controller.login_register.LoginController:
public class LoginController extends ActionSupport{
private LoginForm loginForm;
public String execute(){
System.out.println("!!!!!!!!!!");
return SUCCESS;
}
public String add(){
System.out.println("!!!CS");
return SUCCESS;
}
}
访问时,localhost:....../Login 没有错误
访问 localhost:....../Login!add时报错
错误信息There is no Action mapped for namespace [/] and action name [Login!add] associated with context path [/Struts2]. - [unknown location]
求助~~ 展开
4个回答
展开全部
你确实没有定义啊..
你现在这种定义方法是不能用!add的..因为你不是配置全局Action..要单独配置,修改struts.xml如下:
<package name="default" namespace="/" extends="struts-default">
<action name="Login" class="mvc.web.controller.login_register.LoginController">
<result name="success">
/WEB-INF/jsp/Login.jsp
</result>
</action>
<action name="LoginAdd" class="mvc.web.controller.login_register.LoginController" method="add">
<result name="success">
/WEB-INF/jsp/Login.jsp
</result>
</action>
</package>
访问时,用localhost:....../LoginAdd
你现在这种定义方法是不能用!add的..因为你不是配置全局Action..要单独配置,修改struts.xml如下:
<package name="default" namespace="/" extends="struts-default">
<action name="Login" class="mvc.web.controller.login_register.LoginController">
<result name="success">
/WEB-INF/jsp/Login.jsp
</result>
</action>
<action name="LoginAdd" class="mvc.web.controller.login_register.LoginController" method="add">
<result name="success">
/WEB-INF/jsp/Login.jsp
</result>
</action>
</package>
访问时,用localhost:....../LoginAdd
更多追问追答
追问
我想用的是DMI 动态方法调用 就是使用 action的名字+!+方法名调用
如:Login!add
按照 你的修改后,报这样的错,麻烦你了~~
Struts has detected an unhandled exception:
Messages:
There is no Action mapped for namespace [/] and action name [Login!add] associated with context path [/Struts2].
追答
我知道你想要怎样,但你现在做不是那样的..那样需要配置全局Action,然后采用注入式的结果跳转..你现在都已经用struts.xml单独配置了..另外,你按我的修改后还是用你自己的调用方式,当然不行啦..你要访问访问时,用localhost:....../LoginAdd 而不是访问时,用localhost:....../Login!add
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
展开全部
你根本没在 配置文件里面写好才行 那么里面 类似于:<action name="data_*" method="{1}" class="com.**Action">
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
url访问地址错了!!!
你这样是不能用动态指定方法的,命名不规范
动态方式调用DMI是用 Action名字的对应类小写+“!“+该Action类中定义action方法名
如:有一个Action命名为UserAction,其中有个方法为add()那么可以用
localhost:....../user!add 访问
你这样是不能用动态指定方法的,命名不规范
动态方式调用DMI是用 Action名字的对应类小写+“!“+该Action类中定义action方法名
如:有一个Action命名为UserAction,其中有个方法为add()那么可以用
localhost:....../user!add 访问
追问
action name 是Login,访问时 就是/Login
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
xml中action name都错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询