Jsp 在netbeans Maven中设置struts2项目

Jsp 在netbeans Maven中设置struts2项目,jsp,struts2,action-mapping,Jsp,Struts2,Action Mapping,以下是我所做的。 1.下载并使用所有jar 2.在web-INF中构建web.xml <!--?xml version="1.0" encoding="UTF-8"?--> <web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:s

以下是我所做的。 1.下载并使用所有jar 2.在web-INF中构建web.xml

  <!--?xml version="1.0" encoding="UTF-8"?-->

<web-app id="WebApp_ID" version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

    <display-name>Basic Strust 2 Project setup on Glassfish 3.0.1</display-name>

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

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

</web-app>
实际上我认为现在我不需要这个java代码

当我运行它,进入help.action时,它只是说404找不到,
HTTP状态404-与上下文路径[/131X]关联的命名空间[/]和操作名称[help]没有映射的操作。

您必须指定将分配给解析.jsp文件的操作类。在这种情况下,
help
类负责这一点,因此您必须在
struts.xml
中的
action
标记中将其指定为
class
属性

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "/WEB-INF/classes/struts-2.1.7.dtd">

<struts>
    <!--
    You could also set the constatnts in the struts.properties file
    placed in the same directory as struts.xml
    -->
    <constant name="struts.devMode" value="true" />

    <package name="test" extends="struts-default" namespace="/">

        <!--
        If no class attribute is specified the framework will assume success and
        render the result index.jsp
        If no name value for the result node is specified the success value is the default
        -->
        <action name="help" class="package_name.help">
            <result>/help.jsp</result>
        </action>

    </package>

</struts>

/help.jsp

其中,
package\u name
是包含
help
类的包的名称。

是否存在任何异常?如果action标记中缺少class属性,您认为会发生什么?没有映射到parse.jsp文件的action类,并且您获得HTTP Status 404.Nope。请阅读以下内容:。我不知道,谢谢。根据问题:可能它与用于访问help.jsp的路径连接。记住包名,然后使用
…test/help.action
import com.opensymphony.xwork2.ActionSupport;

public class help extends ActionSupport{
    @Override
    public String execute() throws Exception {
        return SUCCESS;
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "/WEB-INF/classes/struts-2.1.7.dtd">

<struts>
    <!--
    You could also set the constatnts in the struts.properties file
    placed in the same directory as struts.xml
    -->
    <constant name="struts.devMode" value="true" />

    <package name="test" extends="struts-default" namespace="/">

        <!--
        If no class attribute is specified the framework will assume success and
        render the result index.jsp
        If no name value for the result node is specified the success value is the default
        -->
        <action name="help" class="package_name.help">
            <result>/help.jsp</result>
        </action>

    </package>

</struts>