我在使用会话时遇到了一些问题。在 view.jsp 中,我得到用户名和密码并将它们传递给 portlet 类。然后我从数据库中获取用户信息并将它们保存在会话中,然后使用“actionResponse.setRenderParameter("jspPage","/patientInfo.jsp")" 命令转到 patientInfo.jsp。我获取用户信息并使用以下代码打印它们:
<%
ResultSet comments = (ResultSet)portletSession.getAttribute("comments");
ResultSet patientInfo = (ResultSet)portletSession.getAttribute("patientInfo");
patientInfo.next();
%>
<table>
<tr>
<th><strong>Patient Name</strong></th>
<th><strong>Insuline dose</strong></th>
</tr>
<tr>
<td class="info"><%=patientInfo.getString("FirstName") + patientInfo.getString("LastName")%></td>
<td class="info"><%=Integer.toString(patientInfo.getInt("InsulinDose"))%></td>
</tr>
在此页面中,有一个指向 patientProfile.jsp 的链接:
<portlet:renderURL var="patientProfileURL">
<portlet:param name="jspPage" value="/patientProfile.jsp" />
</portlet:renderURL>
<a href="<%= patientProfileURL%>">Edit Profile</a></p>
到目前为止一切正常。但是,当我点击 PatientProfile.jsp 中的 Back 链接以使用以下代码返回到 patientInfo.jsp 时,堆栈跟踪中出现“java.SQL.Excqption:结果集结束后”错误,并且浏览器上出现“portlet 暂时不可用”错误:
<portlet:renderURL var="patientInfoURL">
<portlet:param name="jspPage" value="/patientInfo.jsp" />
</portlet:renderURL>
<p><a href="<%= patientInfoURL %>">Back</a></p>