У меня есть javascript Arraylist
вот так:
var javaScriptArray = $('#sortable').sortable("toArray"); // array of sortable elements
И я хочу отправить этот javascript Arraylist
в java arrayList на той же jsp
странице
<% List <String> javaList ;
javaList = javaScriptArray;
%>
Как я могу это сделать?
так могу ли я отправить этот JS arrayList на java-контроллер и разобраться с ним там?
Я не знаю JSP, но я предполагаю, что да.
Я думаю, что вы делаете это неправильно. Как я понял из вашего описания and I want to send this javascript Arraylist to java arrayList in the same jsp page
вы хотите передать значение из javascript непосредственно в вашу переменную jsp, которая находится на той же странице.
Всегда помните, что JSP (JSF, другое)/Pearl/Python/PHP и тому подобное были серверным сценарием (на стороне сервера), а Javascript — клиентским сценарием (на стороне клиента).
Это означает, что вы можете передать значение из сценария сервера в сценарий клиента (не рекомендуется) ДО того, как ответ/страница будут отображены клиенту с помощью <%= "Hello" %>
или аналогичного. Но вы НЕ МОЖЕТЕ передать значение от клиента к серверу, который УЖЕ отобразил страницу клиенту, где сервер не знает, что происходит на клиенте.
Это похоже на то, когда вы заказываете пиццу по телефону, тот, кто занимается упаковкой, точно знает, что в коробке. Но Он / она не будет знать, что будет добавлено к нему, когда оно дойдет до вас (того, кто его заказал).
И решить вашу проблему передачи значения от клиента к серверу. Вы должны передать значение от клиента к серверу, используя методы GET, POST и другие методы HTTP. Таким образом, сервер будет уведомлен об изменении значения JavaScript. Это хорошо только при передаче значения, чтобы уведомить сервер о сохранении/обновлении/удалении записи с сервера.
Это изображение поможет понять, как клиент/сервер взаимодействуют друг с другом.
JavaScript — клиентская сторона, jsp — серверная. Чтобы получить информацию из JS в jsp, нужно отправить ее на сервер и перерендерить страницу.