Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Struts2中将JSP目标设置为父框架?_Java_Javascript_Html_Jsp_Struts2 - Fatal编程技术网

Java 如何在Struts2中将JSP目标设置为父框架?

Java 如何在Struts2中将JSP目标设置为父框架?,java,javascript,html,jsp,struts2,Java,Javascript,Html,Jsp,Struts2,在我的web应用程序中,有一个页面(.jsp)分为三个框架AddCp.jsp位于该jsp的一个框架中。现在在会话超时时,我想再次显示登录页面。但问题是登录页面只出现在该框架中,而不是出现在整个窗口中 下面是struts.xml中的代码片段: <action name="AddCP" class="com.appupdate.action.AppUpdateAction" method="addCP"> <result name="success">/WEB

在我的web应用程序中,有一个页面(
.jsp
)分为三个框架
AddCp.jsp
位于该jsp的一个框架中。现在在会话超时时,我想再次显示登录页面。但问题是登录页面只出现在该框架中,而不是出现在整个窗口中

下面是
struts.xml
中的代码片段:

<action name="AddCP" class="com.appupdate.action.AppUpdateAction" method="addCP">
        <result name="success">/WEB-INF/pages/AddCP.jsp</result>
        <result name="login" type="redirectAction">
            <param name="actionName">showLogin</param>
            <param name="namespace">/login</param>
            <param name="navigation">timeout</param>
            <param name="target">_parent</param>
        </result>
    </action>

/WEB-INF/pages/AddCP.jsp
显示登录
/登录
超时
_母公司

有人能帮忙吗?如何在此处更改目标帧?

请求应指定目标,响应无法更改。您将在启动请求的帧中加载该文件

[编辑]

要确认这一点,您可以参考此


解决方案:

您可以在
login.jsp
中使用JavaScript语句

<script>
    if(parent.frames.length > 1)
        parent.location.href = '/showLogin';
</script>

如果(parent.frames.length>1)
parent.location.href='/showLogin';

请求应该指定目标,响应没有任何方法更改它。您将在启动请求的帧中加载该文件

[编辑]

要确认这一点,您可以参考此


解决方案:

您可以在
login.jsp
中使用JavaScript语句

<script>
    if(parent.frames.length > 1)
        parent.location.href = '/showLogin';
</script>

如果(parent.frames.length>1)
parent.location.href='/showLogin';

请注意:像Apache tiles这样的服务器端视图合成系统应该比框架更易于维护。值得一看struts2 tiles插件。@四元数:当然,我也推荐tiles或sitemesh装饰器。只需注意:服务器端视图合成系统(如Apache tiles)应该比框架更易于维护。struts2 tiles插件值得一看。@Quaternion:当然,我也推荐tiles或sitemesh装饰器。