【问题标题】:Redirect tag in struts2 jsp pagestruts2 jsp页面中的重定向标签
【发布时间】:2011-12-07 13:27:14
【问题描述】:

我在 struts 中有一个这样的 jsp 页面:

<%@taglib prefix="s" uri="/struts-tags" %>

<s:if test="#session.variablename == null" >
    **<s:action name="loginForm" />**
</s:if>

<html>
    <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script>
    </head>
    <body>
    <h1>Hello World!</h1> 
    <s:a href="doctorLogout">Logout</s:a> 
 <s:include value="/WEB-INF/doctor/doctorFooter.jsp" ></s:include>

如果未设置session,我需要将此页面重定向到struts.xml 页面中的操作。我试过&lt;jsp:forward /&gt;标签而不是&lt;s:action /&gt;,但是jsp重定向到错误页面。这有什么解决办法吗? struts2中是否存在重定向标签?

【问题讨论】:

  • 我建议你使用一个拦截器来检查请求是否为给定的操作设置了会话属性,如果它有会话,那么你将用户重定向到某个地方(从拦截器)。这样您就不必在需要验证会话属性的每个 jsp 页面中复制
  • 这里有一个详细的教程如何创建这样的拦截器vitarara.org/cms/struts_2_cookbook/creating_a_login_interceptor,是的,不要将这样的逻辑与演示混为一谈
  • 你需要的是一个登录拦截器。这是一个例子。 onlinexamples.com/…

标签: java struts2


【解决方案1】:

IMO 这类工作属于拦截器,或者在最坏的情况下属于基本动作类。 JSP 中的这种逻辑使测试变得更加困难。

Struts 2 没有重定向标签;如果您要将这种逻辑放入 JSP 中,请使用 JSTL 的 &lt;c:redirect&gt; 标签。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-21
    • 2013-11-06
    • 2011-06-25
    • 2016-04-19
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    相关资源
    最近更新 更多