我正在尝试使用通配符查找命名空间和操作名称,但它失败了。
例外:
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>
请帮我解决这个问题。
答案 0 :(得分:1)
在action属性中,您应指定不带斜杠的操作名称。像
<s:form namespace="/checkMethods" action="deleteCRUD" >
这将解决动作映射,但它不会使您无法更新数据。在页面上有多个表单将输入字段与表单标记分开。如果要将多个按钮映射到对相同数据进行操作的每个自己的操作,则应创建一个表单和多个提交标记,每个标记映射到方法或操作。请参阅this回答如何操作。