我使用 sprint portlets JSR 286 开发了一个 Web 应用程序,它在 Web 浏览器中以表格格式显示数据。
下面给出的是用于从 JSP 文件调用控制器的代码。
`
function openPortletReport(displayName,reportName,linkNum){
document.eployerSearchLightFrm.action='<%=formAction%>';
document.getElementById("reportName").value=reportName;
document.getElementById("parentLinkName").value=linkNum;
document.getElementById("eployerSearchLightFrm").submit();
}
` 这里表单动作类型是POST和reportName,parentLinkName是参数。
在提交此表单时,会调用 Controller 的handlerRenderRequest方法。从数据库中获取数据后,我们在 ModelAndView 对象中传递视图的名称,如下所示:-
`modelAndView = new ModelAndView("searchlight/genderProfile");
return modelAndView;`
此视图名称使用应用程序上下文 xml 文件中的 ViewResolver 与相关 JSP 文件映射,如下所示:-
`
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
`
显示此 JSP 文件后,该 JSP 文件中可能会出现另一个链接,该链接将按照上述相同的过程转到某个新的 JSP 文件。
现在,在使用上述过程在浏览器中加载 JSP 文件后,如果我单击浏览器后退按钮,它不会重新发送它给我的 Portlet 请求,它给我的网页在浏览器中已过期错误。这发生在所有浏览器中,包括 IE 8、Mozilla Firefox 19 和 Chrome 24。
请帮助我解决这个问题,因为我已经搜索了谷歌中几乎所有的内容来找到解决方案,但没有运气!!
谢谢你。