2016-10-14 4 views
0
function test() { 
    var obj = document.createElement("FORM"); 
    obj.action="SomeAction!thisMethod.action"; 
    obj.submit(); 
} 

Однако метод действия не вызывается вообще.Struts 2 метод действия не вызывается при отправке формы

Действие отображения хорошо выглядеть в struts.xml но только в том случае, если вам интересно,

<action name="SomeAction" class="com.test.SomeAction"> 
    <result ...>...</result> 
</action> 

Это работает хорошо, если у меня есть форма Struts2 на этой странице, но когда нет никаких форм, и я хочу для вызова метод действия с объектом фиктивной формы, он не работает.

Я чувствую, что мне что-то недостает в форме объекта.

ответ

1

Перед тем, как позвонить submit(), вам необходимо добавить новоиспеченную форму в body от document.

document.body.appendChild(obj); 

В Struts2 s:form атрибуты сгенерированы автоматически. Вам не нужно, чтобы каждый из этих атрибутов отправлял форму с элементом фиктивной формы.

Если вы используете JQuery вы можете сделать

$("<form>", {  
    "action": "SomeAction!thisMethod.action" 
}).appendTo(document.body).submit();