Struts2无法实例化Action,com.xxx.action.domain.MyAction,为''在命名空间'/ admin / myresource'中定义'类不能为null

时间:2013-08-28 16:21:51

标签: configuration struts2

Struts2的新功能。我是第一次运行这个项目,我在浏览所有资源时收到此错误消息。看起来根本看不到struts.xml。

我觉得它必须与一些错误配置和/或丢失的jar有关。 “为''定义”(引号之间的空格)是最令我担忧的。

该项目是一个Web应用程序,使用maven构建。欢迎任何想法,建议或想法。

我的struts.xml包含我的struts-xxx.xml

<include file="struts-xxx.xml"/>

在struts-xxx.xml中:

<package name="xxx-admin" namespace="/admin/myresource" extends="my-default">

    <default-action-ref name="default"/>
    <default-class-ref class="com.xxx.action.domain.MyAction"/>

    <global-results>
        <result type="redirectAction">list</result>
        <result name="detail">/WEB-INF/jsp/xxx/detail.jsp</result>
        <result name="input">/WEB-INF/jsp/xxx/detail.jsp</result>
    </global-results>

    <action name="default">
        <result type="redirectAction">
            <param name="actionName">list</param>
        </result>
    </action>

    <action name="view" method="view"/>
    <action name="create" method="create"/>
    <action name="update" method="update"/>
    <action name="delete" method="delete"/>

    <action name="commit_create" method="createCommit">
        <result name="detail" type="redirectAction">create</result>
        <!--stay creating-->
    </action>
    <action name="commit_update" method="updateCommit">
        <result name="detail" type="redirectAction">
            <!--stay updating-->
            <param name="parse">true</param>
            <param name="actionName">update</param>
            <param name="id">%{id}</param>
        </result>
    </action>
    <action name="commit_delete" method="deleteCommit"/>


    <action name="search" method="search" class="com.xxx.action.domain.OneMoreAction">
        <result>/WEB-INF/jsp/xxx/search.jsp</result>
    </action>

    <action name="list" method="list" class="com.xxx.action.domain.OneMoreAction">
        <result>/WEB-INF/jsp/xxx/list.jsp</result>
        <result name="input">/WEB-INF/jsp/xxx/search.jsp</result>
        <result name="unique_result">/WEB-INF/jsp/xxx/list.jsp</result>
    </action>

</package>

2 个答案:

答案 0 :(得分:0)

Struts2配置(或Spring配置)没有任何问题。我尝试运行的项目使用Java 1.6进行编码,而我使用的是Java 1.7 ...感谢您的回答和评论

答案 1 :(得分:0)

如果使用 struts 和 Spring,在 Struts.xml 中,我们为特定类定义动作,然后在项目的 application-context.xml 中应该创建这个 Action 类的实际 bean。 application-context.xml 中缺少 bean 定义,当调用 Action 时,struts 在运行时找不到 bean。因此出现此错误。