【问题标题】:Struts2: How do I tell my index.jsp to forward to a struts2 action?Struts2:如何告诉我的 index.jsp 转发到 struts2 动作?
【发布时间】:2011-03-12 07:30:58
【问题描述】:

通常,当我在 Web 应用程序上看到 index.jsp 时,它只会转发到另一个 url,例如 login.jsp,例如

<jsp:forward page="login.jsp" />

使用 struts2 时,我想要一个类似的 index.jsp,但我希望它转发到一个动作。我该怎么做?

【问题讨论】:

    标签: java web-applications frameworks struts2


    【解决方案1】:

    试试这个:

    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=welcomeLink.action">
    

    这也是一个有效的,

    <%  
    response.sendRedirect("welcomeLink.action");
    %> 
    

    但根据我的经验,它只有在索引页面或作为第一页加载的任何其他页面中才有效。

    如果我将 response.sendRedirect 放在任何后续页面中,它将不起作用Reffer this question

    【讨论】:

    • 在 index.jsp 中你只需要添加这一行。它将转到您的 Struts.xml 并查找此操作的映射。它会工作
    【解决方案2】:

    脚本:

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
    <%  
    response.sendRedirect("/Project/namespace/Login.action");
    %> 
    

    我将它与 Struts2 一起使用,它可以工作。

    【讨论】:

    • 谢谢。这可行,但我试图避免使用 scriptlet ;)
    • @Trick in struts2 scriplets 应该避免。
    • 是的。我现在这样做,但三年前我还在使用它们:)
    【解决方案3】:

    如果你愿意,你可以使用纯 HTML

    在你的头部标签之间使用:

     <META HTTP-EQUIV="Refresh" CONTENT="1;URL=Login.action">
    

    这将重定向到 myCONtext/Login.action

    如果登录位于名称空间后面,则需要将其包含在 URL 中

    【讨论】:

    • 谢谢你alzoid。没想到会这么简单:)
    • 可能与这种情况无关,但这是重定向,而不是转发。
    猜你喜欢
    • 2019-07-27
    • 2012-06-25
    • 2015-03-24
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 2012-09-26
    • 1970-01-01
    • 2012-11-02
    相关资源
    最近更新 更多