2013-04-02 57 views
0

我開發了一個使用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.

請幫我解決這個問題,因爲我搜索了幾乎所有的內容在谷歌找到解決方案,但沒有運氣!

謝謝。

+0

我不知道自己的原因......但看起來這就是spring mvc的工作原理。我可以提出解決方法:在頁面2上放置一個自定義的「後退」按鈕並點擊它,調用所需的操作。它會去控制器並重定向到正確的視圖 – Victor

回答

0

這是表單POST的預期行爲。如果後退按鈕很重要,那麼可以使用GET作爲表單方法。