我開發了一個使用sprint portlet JSR 286的Web應用程序,它在Web瀏覽器中以表格格式顯示數據。Spring JSR 286 Portlet中的瀏覽器後退按鈕問題
下面給出的是用於從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文件中的另一個鏈接,將去一些新殲SP文件遵循上述相同的過程。
現在在使用上述過程在瀏覽器中加載JSP文件後,如果我點擊瀏覽器後退按鈕,它不會重新發送它給我的Portlet請求網頁已過期瀏覽器中的錯誤。這發生在所有的瀏覽器,包括IE 8,Mozilla Firefox 19和Chrome 24.
請幫我解決這個問題,因爲我搜索了幾乎所有的內容在谷歌找到解決方案,但沒有運氣!
謝謝。
我不知道自己的原因......但看起來這就是spring mvc的工作原理。我可以提出解決方法:在頁面2上放置一個自定義的「後退」按鈕並點擊它,調用所需的操作。它會去控制器並重定向到正確的視圖 – Victor