我有一个jsp页面,它在表格中显示一些记录,每个记录旁边都有一个名为update的链接。单击更新时,jsp页面将调用servlet,该servlet从URL获取一些信息,例如记录所有者名称,记录标题等。(单击链接时,这些信息将附加到url)。
由jsp页面调用的servlet然后将其请求和响应分派给另一个jsp页面,它将显示“OK”。 (这只是我设置的一个简单程序)
我的问题是,sevlet无法调度到其他jsp页面。
这就是我所做的:
这是第一个显示记录的Jsp页面(完美地工作)
<body>
<table border="10">
<th>Project Owner</th><th>Project Supervisor </th>
<th>Project Title</th>
<th>Project Description</th>
<th>Start-Date</th>
<th>End-Date</th>
<th>Approval Status</th>
<c:forEach items="${nominationList}" var="Iter">
<tr>
<td>${Iter.projectOwner}</td>
<td>${Iter.projectSupervisor}</td>
<td>${Iter.projectTitle}</td>
<td>${Iter.projectDescription}</td>
<td>${Iter.startDate}</td>
<td>${Iter.endDate}</td>
<td>${Iter.acceptStatus}</td>
<td><a href="${pageContext.request.contextPath}/ProjectApproval/${Iter.projectOwner}">Update</a></td>
</tr> //Above is the link to update each record
</c:forEach>
</table>
</body>
这是它将调用的servlet代码
RequestDispatcher updateDispatcher=request.getRequestDispatcher("testing.jsp");
updateDispatcher.forward(request, response);
//这个servlet调度到另一个jsp页面
我发现如果我删除url中的额外内容进行更新(在第一个jsp页面代码中),它可以工作,但问题是我需要额外的东西来实现其他的东西。
感谢您的时间。
答案 0 :(得分:1)
如果我理解,当你试图通过时 $ {Iter.projectOwner}
因为您是从列表中迭代它。因此,数据必须在列表中可用。
您可以尝试使用隐藏字段 像这样,
<input type="hidden" name="" value="${Iter.projectOwner}"
并以您发布的形式使用它。希望它有所帮助!