Java 如何在Struts2中将JSP目标设置为父框架?
在我的web应用程序中,有一个页面(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
.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装饰器。