セッションの使用に問題があります。view.jspで、ユーザー名とパスワードを取得し、それらをポートレットクラスに渡します。次に、データベースからユーザー情報を取得してセッションに保存し、「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の[戻る]リンクをクリックしてpatientInfo.jspに戻ると、スタックトレースに「java.SQL.Excqption:結果セットの終了後」エラーが表示され、ブラウザに「ポートレットが利用できません」というエラーが表示されます。 :
<portlet:renderURL var="patientInfoURL">
<portlet:param name="jspPage" value="/patientInfo.jsp" />
</portlet:renderURL>
<p><a href="<%= patientInfoURL %>">Back</a></p>