0

我使用 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。

请帮助我解决这个问题,因为我已经搜索了谷歌中几乎所有的内容来找到解决方案,但没有运气!!

谢谢你。

4

1 回答 1

0

这是表单 POST 的预期行为。如果后退按钮必须起作用,那么请改用 GET 作为表单方法。

于 2013-04-13T20:48:35.227 回答