Передающий параметр без использования HTML-форм в JSP

Да, есть, вы можете использовать любую базовую ОС, такую ​​как ubuntu, со всеми вещами, включенными в /bin/bash -c.

docker run --rm -it ubuntu bash -c "apt-get update && apt-get install ... && git clone ... && cd ... && python ..."
9
задан T J 21 September 2017 в 09:17
поделиться

3 ответа

На странице JSP невозможно определить разницу между URL-адресом GET, созданным вручную, например:

Перейдите в следующая страница JSP , а не что-то вроде:

<form method="get" action="/foo.jsp">
<input name="bar" value="baz">
</form>

В любом случае к ней можно получить доступ через getParameter или getParameterValues ​​

Это то, что вы спрашиваете?

7
ответ дан 4 December 2019 в 07:48
поделиться

Обычно вы передаете данные между сервлетами / страницами JSP или JSP в атрибутах области действия (в запросе, сеансе или приложении). Например, request.setAttribute ("key", data) может установить атрибут "key" в одной JSP, а request.getAttribute ("key") получает эти данные в другом JSP ( если несколько JSP обрабатывают один и тот же запрос).

Можно создать поддельные параметры, обернув ваш запрос и переопределив getParameter и аналогичный метод, если это действительно то, что вам нужно.

Обновление: мой ответ говорит о передаче данные между несколькими сторонами, которые обрабатывают один и тот же запрос. Это может быть то, что вы хотите, а может и не быть, поскольку ваш вопрос не ясен.

3
ответ дан 4 December 2019 в 07:48
поделиться

Существует несколько способов передачи информации с одной страницы JSP на другую.

1 . Скрытые значения.

Просто запишите данные в поле ввода в форме с типом «скрытый», например,

<input type="hidden" name="mydata" value="<%=thedata%>">

Записанные таким образом данные будут отправлены обратно при отправке соответствующей формы. Это может быть полезным способом «переносить» информацию, когда пользователь заполняет серию диалогов, поскольку все состояние находится на стороне пользователя, а кнопки «назад» и «вперед» будут работать должным образом.

2. Запись URL.

Прикрепите параметры к URL-адресам в ссылках на странице, например

<a href="another.jsp?mydata=<%=thedata>>Go!</a>

Это также поддерживает состояние клиента, устраняя необходимость в отправке элемента формы.

3. Файлы cookie.

Должны говорить сами за себя. Состояние по-прежнему остается на стороне пользователя, но теперь обрабатывается файлом cookie. В некотором смысле более хрупкий, поскольку некоторые люди отключают файлы cookie. Также кнопки «назад» и «вперед» могут делать неожиданные вещи, если вы не будете осторожны

4. Сторона сервера (сеанс)

Наконец, вы можете сохранить данные в переменной сеанса на одном JSP и получить их на следующем, например,

session.setAttribute(String key, Object value)

и

session.getAttribute(String key)

Здесь сохраняется состояние на стороне сервера, что имеет некоторые преимущества (пользователь может уйти и вернуться, не теряя своего места, но имеет тенденцию делать кнопки «назад» и «вперед» в браузере немного ненадежными, если вы не будете осторожны. Кроме того, значение доступно для всех страниц.

18
ответ дан 4 December 2019 в 07:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: