У меня есть 2 страницы jsp. На первой странице jsp я использую combobox, который выбирает тему, несколько переключателей для действия. На сервлет этой странице я получаю request.getParameter("subjectID")
.Перезагрузка jsp и потерять request.getParameter ("...") на сервлет
Лучше Если я покажу сервлеты и JSP
<form action="/TutorWebApp/controller" method="POST" name="editTestForm">
<p>
Choose subject
<select name='subject'>
<c:forEach items="${subjects}" var="subject" >
<option value="${subject.key}">
${subject.value.getName()}
</option>
</c:forEach>
</select>
</p>
<input type="radio" name="command" value="add_test">
Add test <br />
<input type="radio" name="command" value="add_subject">
Add subject <br />
<input type="submit" value="OK"/>
</form>
На этой странице я выбираю предмет из выпадающего списка. И выберите «Добавить тест». После того, как я иду в сервлет, где
class AddTestCommand implements Command {
private static final String PARAM_TEST_NAME = "testName";
private static final String PARAM_SUBJECT = "subject";
@Override
public String execute(HttpServletRequest request) throws ServletException, IOException {
String page = " ";
String message = " ";
String testName = request.getParameter(PARAM_TEST_NAME);
if (testName != null && (!"".equals(testName))) {
HttpSession session = request.getSession(true);
Integer userID = (Integer) session.getAttribute("userID");
Integer subjectId =
Integer.valueOf(request.getParameter(PARAM_SUBJECT));
if(AddTestLogic.addTest(userID, subjectId, testName)){
message = "Success";
} else{
message = "This test already exist";
}
request.setAttribute("result", message);
}
page = ResourceBuilder.getPropertyManager(PropertyEnum.JSP_PAGE).
getProperty("path.page.addtest");
return page;
}
}
Там я могу получить значение предмета, как request.getParameter("subject");
рядом с АСМАП и раньше, если() {} И следующий шаг - перейти к следующему JSP
<form action="/TutorWebApp/controller" method="POST" name="addTestForm">
<input type="hidden" name="command" value="add_test" />
Name of new test:
<input type="text" name="testName" value=""/>
<input type="submit" value="Add test"/>
</form>
после ввода данных В jsp я снова перехожу к тому же сервлету. Но я теряю значение request.getParameter («subject»).
Я пытаюсь использовать HttpSession, но на первой странице я отправляю карту. И получите с запросом только что выбрали subjectID с карты.
Я не знаю, как решить эту проблему. Thanks
Просто добавьте еще одно скрытое поле с этим именем и стоимостью? – BalusC
@BalusC на jsp с textField? как '' – Ray
@BalusC Я не понимаю ... Можете ли вы мне помочь? – Ray