Как избежать дублирования в имени параметра - PullRequest
2 голосов
/ 08 ноября 2011

Внутри POST в файле .jsp я хотел бы сделать что-то вроде этого:

<input type="text" name="...">

А внутри сервлета я бы хотел сделать:

request.getParameter(...)

Теперь, где и как я должен объявить «...», чтобы избежать дублирования и повторно использовать одну и ту же строку.

Должно ли это быть в таком интерфейсе:

открытый интерфейс SO {

String POST_PARAM = "userinput";

}

Или в файле свойств? Или ...?

В любом случае, как мне получить доступ к этому из файла .jsp и из файла .java ?

Ответы [ 3 ]

1 голос
/ 08 ноября 2011

Вы можете определить константы, такие как final String POST_PARAM = "userinput";, а затем использовать их в разметке: <input type="text" name="<%=POST_PARAM%>">.Перемещение имен полей в файл свойств не выглядит полезным, если у вас нет причин для этого.

Чтобы получить значение параметра из HTTP-запроса, вызванного отправкой формы, скажите request.getParameter(POST_PARAM).

Надеюсь, это поможет.

0 голосов
/ 08 ноября 2011

Вы можете использовать стандартные действия: jsp: useBean , jsp: setProperty и JavaBean Технология:


Пример:

A.jsp должен вызвать HTTP POST для B.jsp. B.jsp должен автоматически сопоставить все поля и перенаправить на ваш сервлет.

// model.MyBean.java
class MyBean {
   private int age;
   // getters&setters
}

// A.jsp:
<form method="POST" action="B.jsp">
   <input type="text" name="age">
</form>

// B.jsp
<jsp:useBean id="form" class="model.MyBean" scope="request" />
<jsp:setProperty name="form" property="*" />
<jsp:include page="/servletURL" />

Небольшое описание:

  1. Будет создан класс MyBean. Этот боб должен иметь точно такой же имя поля как имя в вашей форме: для <input type="text" name="age"> в бине должно существовать int age поле и метод получения / установки.
  2. jsp:setProperty с подстановочным знаком автоматически отображают все значения из формы A.jsp в ваш компонент.
  3. если вы хотите вызвать свой сервлет, вы можете просто включить соответствующий URL. Затем в сервлете у вас будет доступ к атрибуту запроса «форма», в котором будет MyBean с введенными значениями.
0 голосов
/ 08 ноября 2011

Вы можете получить ... из боба, используя EL. Однако для меня это не обычно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...