警告:找不到指定操作的配置:在命名空间中:表单操作默认为“action”属性的文字值

时间:2013-12-17 18:00:21

标签: java jsp struts2 action dmi

我正在尝试使用通配符查找命名空间和操作名称,但它失败了。

例外:

WARNING: No configuration found for the specified action: '/checkMethods/executeCRUD' in namespace: ''. Form action defaulting to 'action' attribute's literal value.

XML:

<package name="crudAction" namespace="/checkMethods" extends="struts-default" >
    <action name="*CRUD" class="leo.struts.HelloWorldAction" method="{1}">
        <result name="success" >/crud.jsp</result>
    </action>       
</package>

HTML:

<body>
    Action so Far : <s:property value="message"/>
        <s:form action="/checkMethods/deleteCRUD" >            
            <s:submit label="delete"/>
        </s:form>
        <s:form action="/checkMethods/selectCRUD" >            
            <s:submit label="select"/>
        </s:form>
        <s:form action="/checkMethods/updateCRUD" >            
            <s:submit label="update"/>
        </s:form>
        <s:form action="/checkMethods/executeCRUD" >            
            <s:submit label="execute"/>
        </s:form>
    </body>

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

在action属性中,您应指定不带斜杠的操作名称。像

<s:form namespace="/checkMethods" action="deleteCRUD" > 

这将解决动作映射,但它不会使您无法更新数据。在页面上有多个表单将输入字段与表单标记分开。如果要将多个按钮映射到对相同数据进行操作的每个自己的操作,则应创建一个表单和多个提交标记,每个标记映射到方法或操作。请参阅this回答如何操作。