struts2 请求action方法,请求不到

cascada 2010-03-09 05:05:46
16:30:40,359 ERROR org.apache.struts2.dispatcher.Dispatcher:512 - Could not find action or result
There is no Action mapped for action name add_role. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:186)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:422)

struts:
配置文件没有用动态调用,和通配符方法配置,还不够熟练
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>

<package extends="alveole-defaults" name="alveole" namespace="/"
<global-results>
<result name="add_success" type="redirect">/common/pub_add_success.jsp</result>
<result name="del_success" type="redirect">/common/pub_del_success.jsp</result>
<result name="modify_success" type="redirect">/common/pub_modify_success.jsp</result>
<result name="Exception">/common/exception.jsp</result>
<result name="login" type="redirect">/index.jsp</result>
</global-results>

<global-exception-mappings>
<exception-mapping exception="java.lang.RuntimeException" result="Exception"/>
</global-exception-mappings>

<action name="del_module" class="moduleAction" method="del_module"></action>

<action name="role" class="roleAction">
<result name="success">/role/index.jsp</result>
</action>

<action name="add_role" class="roleAction" method="add_role">
这里我做了一个全局global-results

</action>
<action name="del_role" class="roleAction" method="del_role"></action>


<action name="user" class="userAction">
<result name="success">/user/index.jsp</result>
</action>
<action name="modify_user" class="userAction" method="modify_user">
这里我做了一个全局global-results
</action>
</package>
</struts>

...全文
534 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
quxiuer 2010-03-11
  • 打赏
  • 举报
回复
form标签中添加namespace="/"
redlotus_lyn 2010-03-11
  • 打赏
  • 举报
回复
上面写错了,应该是下面的写法
<s:form action="add_role" namespace="/">
redlotus_lyn 2010-03-11
  • 打赏
  • 举报
回复
add_role请求所在命名空间是根命名空间(/)
你的页面add_role请求在默认命名空间("")

<s:form name="add_role" namespace="/">
luoxiao3224 2010-03-11
  • 打赏
  • 举报
回复
<form action="/add_role.action"> 试试
cascada 2010-03-09
  • 打赏
  • 举报
回复
struts.xml
如下 <struts>
<include file="alveole-defaults.xml"/>
<include file="alveole-struts.xml"/>
</struts>

alveole-default.xml

如下
<struts>
<package name="alveole-defaults" extends="struts-default">
</package>
</struts>
这样写没有问题吧
shengfengluanshi 2010-03-09
  • 打赏
  • 举报
回复
<package extends="alveole-defaults" />
我一直写的是<package extends="struts-default" />
cascada 2010-03-09
  • 打赏
  • 举报
回复
RoleAction的添加方法
public String add_role() throws Exception {
System.out.println("----------");
Role role = new Role();
role.setName(name);

roleservice.addRole(role);
return "add_success";
}


页面报错:
HTTP Status 404 - There is no Action mapped for action name add_role.

--------------------------------------------------------------------------------

type Status report

message There is no Action mapped for action name add_role.

description The requested resource (There is no Action mapped for action name add_role.) is not available.


cascada 2010-03-09
  • 打赏
  • 举报
回复
jsp页面 form action="add_role.action" method="post">
<!--
<input type="hidden" name="parentId" value="${parentId}">
-->
<TABLE class="tableEdit" border="0" cellspacing="1" cellpadding="0" style="width:580px;">
<TBODY>
<TR>
<!-- 这里是添加、编辑界面的标题 -->
<td align="center" class="tdEditTitle">添加角色信息</TD>
</TR>

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧