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]
求助~~
展开
 我来答
wdjhz
2012-03-09 · TA获得超过3529个赞
知道大有可为答主
回答量:2227
采纳率:41%
帮助的人:683万
展开全部
你确实没有定义啊..
你现在这种定义方法是不能用!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 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
dawn1423
2012-03-09 · TA获得超过204个赞
知道答主
回答量:159
采纳率:100%
帮助的人:37.3万
展开全部
你根本没在 配置文件里面写好才行 那么里面 类似于:<action name="data_*" method="{1}" class="com.**Action">
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小弟农民
2012-03-09 · 超过12用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:24.4万
展开全部
url访问地址错了!!!
你这样是不能用动态指定方法的,命名不规范
动态方式调用DMI是用 Action名字的对应类小写+“!“+该Action类中定义action方法名
如:有一个Action命名为UserAction,其中有个方法为add()那么可以用
localhost:....../user!add 访问
追问
action name 是Login,访问时 就是/Login
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大奔的奥特曼
2012-03-09
知道答主
回答量:17
采纳率:0%
帮助的人:7万
展开全部
xml中action name都错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式