【发布时间】:2014-01-17 08:34:13
【问题描述】:
这是我的 jsp 页面,它使用 for 循环从数据库中检索项目列表
<%
itemManager mgr = new itemManager();
Item[] items = mgr.getAllItems();
for(int i = 0; i < items.length; i++){
%>
<tr>
<td> <img border="0" src="<%=items[i].getItemImage() %>" width="100" height="100">
</td>
<td>
<%=items[i].getItemName()%>
<input type="text" name="itemID" value="<%=items[i].getItemID()%>">
<br/>
<%=items[i].getItemDesc()%>
<br/>
Start Bid : <%=items[i].getStartBid()%>
<br/>
Buy it now : <%=items[i].getEndBid()%>
<br/>
Bidding close on : <%=items[i].getDuration()%>
<br/>
<input type="submit" value="View">
<%
}
%></table>
这是链接到您之前选择的项目的jsp页面
<table border="1" align="center">
<%
itemManager mgr = new itemManager();
Item items = mgr.getItem((Integer)session.getAttribute("ITEM_DATA"));
%>
<tr>
<td> <b> <%=items.getItemName() %></b> </td>
</tr>
</table>
这是 servlet,用于存储所选项目 id 的会话并转发到正确的项目 jsp 页面。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(true);
int id = Integer.parseInt(request.getParameter("itemID"));
session.setAttribute("ITEM_DATA",id);
RequestDispatcher rd = request.getRequestDispatcher("viewItem.jsp");
rd.forward(request, response);
}
但是,在我单击查看按钮后。它一直链接到 itemID = 1。
网址显示为 "/ItemServlet?itemID=1&itemID=2" 。
事实上,如果我点击 itemID=2,URL 应该显示如下:
"/ItemServlet?itemID=2"
因此,我该如何实现呢?提前致谢!
【问题讨论】:
标签: java jsp navigateurl