例外:
描述:请求的资源/Strut2Examples/checkMethods/updateCRUD
不可用。如何使用Struts2从普通 HTML调用基于 namespace 的操作。它适用于Struts2 Forms。请帮我理解。
HTML:
<s:form namespace="/checkMethods" action="executeCRUD" >
<s:submit label="execute" value="execute" />
</s:form>
<form name="normalForm" id="normalForm">
<input type="button" value="update" onclick="submitForm()"/>
</form>
Java脚本:
<script type="text/javascript">
function submitForm()
{
var myForm = document.getElementById("normalForm");
myForm.action="checkMethods/updateCRUD";
myForm.submit();
}
</script>
答案 0 :(得分:2)
如果要使用HTML表单标记,则应使用url
标记的操作名称和名称空间属性构建URL。例如
<form action="<s:url namespace="/checkMethods" action="deleteCRUD"/>" method="POST">
同样关注您可以混合url
标记的JavaScript代码。喜欢这个
myForm.action='<s:url namespace="/checkMethods" action="deleteCRUD"/>';
实际上,如果您定义表单的action属性,则不需要在事件处理函数中构造URL。只需submit()
。
您应该认真对待url
标记,因为例如您在action属性中构建了缺少上下文路径和斜杠的URL以及您所做的错误。