Struts错误:没有映射名称空间/操作名称***的操作

时间:2013-06-03 12:10:40

标签: java jsp struts2

我是struts和jsp的新手。 目前我被困在上述错误上,它在过去两周里严重困扰我,不知道我做错了什么。 这就是我想要做的事情:

temp.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Sample Page</title>
</head>

<body>
Hello World
<br/>

<A href="myAction.action"><font face="arial" color="black" size=2>Run</font></A>
</body>
</html>

在这个页面中,我有href链接“运行”,当我点击此链接时,它将调用我的操作,最终调用我的test.jsp页面。

test.jsp的

  <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
!!!! Hello !!!!
</body>
</html>

struts.xml中

    <?xml version="1.0" encoding="UTF-8"?>
<struts>
<constant name="struts.devMode" value="true" />
<package name="TestWeb" extends="struts-default" namespace="/">
    <action name="myAction">
        <result>/test.jsp</result></action></package>
</struts>

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>TestWeb</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

     <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

朋友们请帮帮我。

2 个答案:

答案 0 :(得分:1)

尝试

 <package name="default" extends="struts-default" namespace="/">
           <action name="myAction" 
        class="com.action.MyAction" >
        <result name="success">result.jsp</result>
    </action>

</package>

在JSP中

<a href="<s:url action="myAction"/>">click here</a>

或(@tom的建议)

<s:a action="myAction" >click here</s:a>

此外,请确保struts.xml配置文件位于类路径

答案 1 :(得分:-1)

确保在web.xml和temp.jsp中添加ActionServlet,将href更改为myaction。