爪哇一角

共同探讨STRUTS#HIBERNATE#SPRING#EJB等技术
posts - 3, comments - 6, trackbacks - 0, articles - 99
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

利用iframe实现各个页面跳转

Posted on 2009-08-05 20:58 非洲小白脸 阅读(3418) 评论(0)  编辑  收藏
<%@ page language="java" pageEncoding="UTF-8"%>

<html>
    <head>
    <%
        String baseUrl = request.getContextPath();
    %>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script type="text/javascript" src="<%=baseUrl%>/global/js/global.js"></script>
        <script type="text/javascript" src="<%=baseUrl%>/global/scripts/ext/adapter/jquery/jquery.js"></script>
        <link rel="stylesheet" type="text/css" href="<%=baseUrl%>/global/themes/default/base.css" media="screen" />
        <script type="text/javascript">
        var tmpForm = false;
        var _searchCond = new Params();

        // 跳转到其他页面(actionPath可以在子页面上自由设定,实现跳转到指定页面)
        function moveToA(actionTmp) {
            tmpForm.action = actionTmp;
            tmpForm.submit();
        }

        // 跳转到其他页面(actionPath可以在子页面上自由设定,实现跳转到指定页面)
        function moveToB() {
            tmpForm.action = initPath;
            tmpForm.submit();
        }

        // 迁移到A画面,可以保存cond到主页面上作为全局变量(new Params()).
        // method可以动态的传递需要调用的方法名。(也可以动态传递actionPath).
        // params可以动态传递需要的参数。(new Params()).
        function moveToA(cond, method, params) {
            var actionPath = "/action.do";
            actionPath += "?method=" + method;
            for (var n in params) {
              actionPath += "&" + n + "=" + params[n];
            }
            if (initParams) {
              actionPath += "&" + initParams;
            }
            setSearchCond(cond);
            moveToA(actionPath);
        }

        // 直接用于将全局变量保存到主页面上(例如查询条件等)
        function setSearchCond(cond) {
            _searchCond = cond;
        }

        // 主画面初期化时,可以设置默认打开的页面action
        var initPath = "<%=baseUrl%>/prj/showSerPlanApplyList.do?method=showSerPlanApplyList";
        var initParams = false;
        (function ($) {
            $(function() {
               
                // 取得到达这个jsp的url地址
                var path = location.href;
                // 下面的操作目地:链接到这个jsp时,系统可能会自动加上一些系统级参数,而这些参数在你做链接的时候,
                // 也是有必要传下去的,因此才做以下的操作。
                if (path.indexOf('?') > -1) {
                    initParams = path.substring(path.indexOf('?') + 1);
                }
                if (initParams) {
                    initPath = initPath + "&" + initParams;
                }
                tmpForm = document.getElementById("tmpForm");
                tmpForm.action = initPath;
                tmpForm.submit();
                document.domain = "jsepc.com.cn";
            });
        })(jQuery);
        </script>
    </head>

    <body style="margin:0px;padding:0px;">
        <form id="tmpForm" name="tmpForm" target="innerFrame" style="display:none" method="POST"></form>
        <iframe id="innerFrame" name="innerFrame" width="100%" height="100%" frameborder="0"></iframe>
    </body>
</html>


其他页面需要跳转时,只要调用主页面的方法即可,还可以保存全局变量。
var cond = window.parent._searchCond;
if (!cond) {
   cond = new Params();
}
cond.pro1 = val1;
window.parent.moveToPrjScdlChgAddEdit(cond,
                              "method",
                            {
                              "param1" : "value1",
                              "param1" : "value2"
                            }
                        );



只有注册用户登录后才能发表评论。


网站导航: