Struts 提交表单时未调用 2 个操作方法
Struts 2 action method not invoked upon form submission
function test() {
var obj = document.createElement("FORM");
obj.action="SomeAction!thisMethod.action";
obj.submit();
}
但是,根本没有调用操作方法。
动作映射在 struts.xml
中看起来不错,但以防万一你想知道,
<action name="SomeAction" class="com.test.SomeAction">
<result ...>...</result>
</action>
如果我在那个页面上有一个 Struts2 表单,它工作正常,但是当没有表单并且我想用一个虚拟表单对象调用操作方法时,它不起作用。
我觉得我在表单对象中遗漏了一些东西。
在调用submit()
之前,您需要将新烘焙的表格添加到document
的body
。
document.body.appendChild(obj);
在 Struts2 s:form
中,属性是自动生成的。您不需要所有这些属性来提交带有虚拟表单元素的表单。
如果你使用 jQuery 你可以
$("<form>", {
"action": "SomeAction!thisMethod.action"
}).appendTo(document.body).submit();
function test() {
var obj = document.createElement("FORM");
obj.action="SomeAction!thisMethod.action";
obj.submit();
}
但是,根本没有调用操作方法。
动作映射在 struts.xml
中看起来不错,但以防万一你想知道,
<action name="SomeAction" class="com.test.SomeAction">
<result ...>...</result>
</action>
如果我在那个页面上有一个 Struts2 表单,它工作正常,但是当没有表单并且我想用一个虚拟表单对象调用操作方法时,它不起作用。
我觉得我在表单对象中遗漏了一些东西。
在调用submit()
之前,您需要将新烘焙的表格添加到document
的body
。
document.body.appendChild(obj);
在 Struts2 s:form
中,属性是自动生成的。您不需要所有这些属性来提交带有虚拟表单元素的表单。
如果你使用 jQuery 你可以
$("<form>", {
"action": "SomeAction!thisMethod.action"
}).appendTo(document.body).submit();