我有2個jsp頁面。在第一個jsp頁面中,我使用組合框選擇主題,多個單選按鈕進行操作。在servlet這個頁面上,我得到了request.getParameter("subjectID")
。重新加載jsp並在servlet上丟失request.getParameter(「...」)
如果我告訴servlet和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>
在這個頁面中,我選擇從組合框主題。並選擇「添加測試」。之後,我去的servlet,其中
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中,我再次轉到同一個servlet。但我失去了價值request.getParameter(「subject」)。
我嘗試使用HttpSession,但在第一頁上發送Map。並且請求獲取只需從Map中選擇subjectID。
我不知道如何解決這個問題。 謝謝
只需添加具有該名稱和值的另一個隱藏字段? – BalusC
jsp上的@BalusC與textField?作爲'' – Ray
@BalusC我不會理解......你能幫我嗎? – Ray