我一直试图在foreach循环中显示带有相应值的单选按钮。然后,我想在下一个JSP页面上检索所选单选按钮的值。
这是我编码的一部分。
<form action="EventList_to_seats_servlet" method="POST">
//There are irrelevant lines here.
<c:otherwise>
<c:forEach var="ID" items="${EventID}">
//EventID, a list of Integer, comes from the previous servlet,
//set in HttpServletRequest
//i.e. I wrote "request.setAttribute("EventID", EventID);" in the previous step.
<li>
<%= "Event ID: "%> ${ID}
<input type="radio" name="${EventID}" value="ID" /><br><br>
</li>
</c:forEach>
<input type="submit" value="Submit" name="submitOrderID" />
</c:otherwise>
</form>
我想在下一个servlet上检索所选单选按钮的名称和值。
这是下一步的一部分(一个servlet,名为&#34; EventList_to_seats_servlet&#34;)。
BookingInfo bi = new BookingInfo();
//It's a bean dedicated to storing information entered by the client.
bi.setEventID(request.getParameter("ID"));
//It doesn't seem to be the right way to retrieve the selected radio button's name/value
我已经测试了多种方法来从JSP获取值到servlet,但我仍然无法找到如何执行此操作,特别是因为单选按钮的名称和值是动态生成的。
如果您愿意提供任何建议,我将不胜感激。
P.S。
我发现了类似的帖子here,但老实说,我无法完全理解它,主要是因为我不确定如何使用${ }
。
${ }
似乎用于访问HttpServletRequest设置的值(即request.setAttribute("xxx", yyy);
)。
但是,在我提到this posting之后,我认为${ }
似乎也用于从Bean获取值。
在上面的示例中,您认为使用yyy
获取${xxx}
是一种常见的使用${ }
吗?
答案 0 :(得分:0)
按如下方式更改JSP和Servlet:
JSP:
<c:forEach var="ID" items="${EventID}">
<li>
<%= "Event ID: "%> ${ID}
<input type="radio" name="selectedValue${id}" value="${ID.id}" /><br><br>
</li>
</c:forEach>
的Servlet:
String selected = request.getParameter("selectedProd" + getId());
或强>
只需更改JSP:
<c:forEach var="ID" items="${EventID}">
<li>
<%= "Event ID: "%> ${ID}
<input type="radio" name="${EventID}" value="${ID.id}" /><br><br>
</li>
</c:forEach>