404 There is no Action mapped for namespace / and action name
Struts/Hibernate框架,是一个管理员登陆验证然后实现对数据库进行增删改查功能,服务器正常启动,但是在更新内容的时候,总是404报警,我也曾经百度过,也根据内容修改了,但是依旧404报警。
点击更新按钮,数据库的内容是修改了,http://localhost:8080/Kaoshi/Update.action但是会出现There is no Action mapped for namespace / and action name
下面是struts.xml文件:
<?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 name="Kaoshi" extends="struts-default">
<action name="login" class="action.LoginAction">
<result name="success">/insert.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="Save" class="action.DicAction" method="save">
<result name="success" type="redirect">/List.action</result>
<result name="error">/error.jsp</result>
</action>
<action name="List" class="action.DicAction" method="list">
<result name="success">/list.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="Edit" class="action.DicAction" method="edit">
<result name="success">/insert.jsp</result>
<result name="error">/error.jsp</result>
</action>
<action name="Update" class="action.DicAction" method="update">
<result name="success" type="chain">/List.action</result>
<result name="error">/error.jsp</result>
</action>
<action name="Delete" class="action.DicAction" method="delete">
<result name="success" type="redirect">/List.action</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
下面是web.xml文件
下面是插入和修改界面,根据id是不是为空选择不同。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<SCRIPT type="text/javascript">
function doupdate(){
document.forms[0].action = "Update.action";
document.forms[0].submit();
}
</SCRIPT>
</head>
<body>
<h2>登陆成功!</h2> <br>
<s:form action="Save.action" method="post">
<table>
<tr>
<td><s:textfield name="dic.id" label="编号"></s:textfield></td>
<td><s:textfield name="dic.zhongwen" label="中文"></s:textfield></td>
<td><s:textfield name="dic.yingwen" label="英文"></s:textfield></td>
<td>词性:
<select size=1 name="dic.cixing">
<option value="动词">
动词
</option>
<option value="副词">
副词
</option>
<option value="名词">
名词
</option>
<option value="介词">
介词
</option>
<option value="形容词">
形容词
</option>
</select></td>
<td> <s:textfield name="dic.liju" label="例句"></s:textfield></td>
</tr>
<tr>
<s:if test="%{dic.id!=null}">
<td colspan="4"><s:submit value="更 新" onclick="doupdate();"></s:submit> </td>
</s:if>
<s:else>
<td colspan="4"><s:submit value="提 交"></s:submit> </td>
</s:else>
</tr>
</table>
</s:form>
</body>
</html>
下面是DicAction的内容
package action;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import vo.Dic;
import dao.DicDAO;
import dao.DicDAOImpl;
public class DicAction extends ActionSupport {
private Dic dic;
private List<Dic> list;
DicDAO dicDAO = new DicDAOImpl();
public List<Dic> getList() {
return list;
}
public void setList(List<Dic> list) {
this.list = list;
}
public Dic getDic() {
return dic;
}
public void setDic(Dic dic) {
this.dic = dic;
}
public String save() throws Exception {
dicDAO.save(dic);
System.out.println("插入成功 ");
return SUCCESS;
}
@SuppressWarnings("unchecked")
public String list() throws Exception {
try {
System.out.println("查询 ");
list = dicDAO.findAll();
System.out.println("插入成功 ");
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
public String edit() {
try {
HttpServletRequest request = ServletActionContext.getRequest();
String id = request.getParameter("id");
dic = dicDAO.findById(id);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
public String update() {
try {
dicDAO.update(dic);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
public String delete() {
try {
HttpServletRequest request = ServletActionContext.getRequest();
String id = request.getParameter("id");
dicDAO.delete(id);
return SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
}
}
小妹新入门,请高手指教。拜托!