代码之家  ›  专栏  ›  技术社区  ›  coding-clown

Spring JSR 286 Portlet中的浏览器返回按钮问题

  •  0
  • coding-clown  · 技术社区  · 11 年前

    我使用sprintportletsJSR286开发了一个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是参数。

    在提交该表格时, 手柄渲染器请求 控制器的方法被调用。从数据库中获取数据后,我们在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。

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

    非常感谢。

    1 回复  |  直到 11 年前
        1
  •  0
  •   Mark Chorley    11 年前

    这是表单POST的预期行为。如果返回按钮必须工作,那么使用GET作为表单方法。