Spring Webflow + форма отправки / AJAX вызов - PullRequest
0 голосов
/ 30 августа 2018

Я хочу вызвать веб-поток с помощью AJAX / отправки формы, но я не могу этого сделать. В ответ на мой AJAX-вызов на контроллер я получаю список пользовательских объектов. Я должен передать этот список объектов в другой HTML через AJAX, где я могу получить доступ к этому списку объектов и перебрать его, чтобы отобразить на интерфейсе в виде таблицы. Эта таблица будет иметь 2 столбца: один с именем, а второй с датой. В столбце «Имя» я должен отобразить имя в виде тега привязки со встроенным URL-адресом. Как только пользователь нажимает на эту гиперссылку, он / она перенаправляет на контроллер и дальнейшие действия.

ПРИМЕЧАНИЕ. Я не могу использовать никакие кнопки / ссылки на своей странице.

Причина, по которой я вызвал контроллер, используя Ajax, а не инициируя событие, заключается в том, что мне нужно сделать вызов CORS, и это возможно только с помощью вызова из браузера, а не вызова на стороне сервера из-за проблем безопасности, и ниже приведен общий поток для более глубокого понимания: 1. Сделайте AJAX-вызов в другой домен и получите данные. 2. При успешном ответе передайте эти данные контроллеру без веб-потока с запросом сопоставления. Этот контроллер возвращает модель. 3. В случае успешного ответа от контроллера, то есть список пользовательских объектов должен передать эти значения в другой HTML, который будет перебирать список объектов и отображать их в табличной форме.

Во втором HTML-коде я использую тег JSTL, который вызывается на стороне сервера, и, следовательно, данные, полученные в сценарии, не могут использоваться здесь, так как сценарий выполняется на стороне клиента. Единственный способ использовать эти значения во втором HTML-коде - это принести другой контроллер / доступ к веб-потоку, чтобы поместить данные в область потока.

Ниже приведен мой веб-поток XML.

`<view-state id="firstPage" view="firstPage" >
<transition on="nextpage" to="controller"/> 
</view-state>

<action-state id="controller" >
<evaluate expression="controller.doSomething()"
<transition on="success" to="makeDecision" />
</action-state>

Ниже приведен мой код на странице, я попробовал 2 способа отправки формы и запуска веб-потока: 1. Первый способ отправки формы и второй путь через AJAX:.

`<form id="myForm" method="post" action="${flowExecutionUrl}&_eventId=nextpage">
<input type="hidden" name="firstParam" value="listOfObjects"/>
<input type="hidden" name="secondParam" value="listsize"/>
</form>

<script type="text/javascript">
$(document).ready(function () {
$('#myForm').submit();
}
</script>`

<script type="text/javascript"> $(document).ready(function () { $('input[name="_eventId"]').val('nextpage');$.post('${flowExecutionUrl}', {list:listOfObjects,size:listsize}, function() { return true; }); }); </script>

В обоих случаях контроллер не получает поток.

Любая помощь высоко ценится. Спасибо

...