请教一个页面跳转的问题。
从登录界面login.jsp进入一后跳转到一个基本信息页面info.jsp ,但是这个信息页面info.jsp 是一个由四个FRAME组成的。
我用过滤器过滤info.jsp 在一定条件下跳转回login.jsp,在跳转的时候生成了四个login.jsp,本来是想生成一个login.jsp。
怎么做能实现,我用的是重定向。

解决方案 »

  1.   

    info.jsp
    <HTML>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <HEAD>
    <link href="../../../css/style.css" rel="stylesheet" type="text/css">
    </HEAD><FRAMESET frameSpacing=0 rows="89,*" MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0" frameborder="1" name="top"><FRAME name="topframe" marginWidth="0" marginHeight="0" src="<s:url value='/pages/member/frame/topframe.jsp' />" frameBorder="no" noResize scrolling="no" LEFTMARGIN="0" TOPMARGIN="0" border="0"><FRAMESET name="forum"  frameSpacing="0" cols="180,*" MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0" frameborder="0" ><FRAME name="leftframe" src='<s:url value="/pages/member/frame/leftframe.jsp"/>' frameBorder="0" scrolling="no" noResize>
    <FRAMESET frameSpacing=0 rows="420,*" MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0" frameborder="1" name="center">
    <FRAME name="rightframe" src="<s:url value='/pages/member/frame/rightframe.jsp'/>" frameBorder="0">
    <FRAME name="bottomframe" src="<s:url value='/pages/member/frame/bottomframe.jsp'/>" frameBorder="0" scrolling="no" >
    </FRAMESET>
    </FRAMESET>
    </FRAMESET>
    </HTML>
      

  2.   

    package last.soul.filter;import java.io.IOException;import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;import last.soul.common.bean.MemberInfo;public class LoginFilter implements Filter { public void destroy() {

    } public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    System.out.println("login filter!!!");
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse res = (HttpServletResponse) response;
    HttpSession session = req.getSession();
    MemberInfo member = null;
    member = (MemberInfo) session.getAttribute("member");
    if (member != null) {
    res.sendRedirect(req.getContextPath() + "/pages/login.jsp");
    } else {
    chain.doFilter(req, res);
    }
    } public void init(FilterConfig arg0) throws ServletException {

    }
    }
      

  3.   

    别的代码就不贴了,很简单的,我这个代码是在STruts2下的。
    由于info.jsp 有四个jsp,所以这个过滤器被调用了四次。
      

  4.   

    这些代码在struts1中没有问题,现在我改用struts2就有这个问题了
    TILES是STRUTS1的东西啊,呵呵
      

  5.   

    login.jsp </head> 前面 加 <script>if(self!=top){top.href="login.jsp";} </script>