将请求从servlet调度到jsp

时间:2013-12-27 14:26:20

标签: java jsp servlets requestdispatcher

我有一个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页面代码中),它可以工作,但问题是我需要额外的东西来实现其他的东西。

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

  

如果我理解,当你试图通过时    $ {Iter.projectOwner}

因为您是从列表中迭代它。因此,数据必须在列表中可用。

您可以尝试使用隐藏字段  像这样,

<input type="hidden" name="" value="${Iter.projectOwner}"

并以您发布的形式使用它。希望它有所帮助!