iframe加载很多页面都没问题 
但是一旦加载一个包含<s:tree >标签的页面之后 
再点树上的其他接点,页面都不在iframe里加载了 
全变成弹出新窗口了,请问这是怎么回事啊? 

解决方案 »

  1.   

    s:tree生成的代码里面url的target
      

  2.   

    谢谢 2楼的回答,那我要怎么解决呢 我用的是struts2.0.1的包
    哪里定义的?  
    tree.tld文件里面有定义这个url 的target吗  
      

  3.   

    这个标签没有url/target属性.. 
    LZ干脆点击树的时候触发js, 让js把跳转路径弄到frame里
      

  4.   

    我把页面全变成静态的,还是会弹出新窗口,代码如下,各位帮忙看看,这个dojoType="Tree" 为什么会和另外页面的target冲突:
    <%@include file="/session.jsp"%>
    <%@page language="java" pageEncoding="gbk"%>
    <%@taglib uri="/struts-tags"  prefix="s"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
        <title>Tree</title>
        <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

        <link rel="stylesheet" href="/ZXHJYJXJ/struts/xhtml/styles.css" type="text/css"/>
    <script type="text/javascript">
        // Dojo configuration
        djConfig = {
            baseRelativePath: "/ZXHJYJXJ/struts/dojo",
            isDebug: true,
            bindEncoding: "GBK",
            debugAtAllCosts: true // not needed, but allows the Venkman debugger to work with the includes
        };
    </script>
    <script type="text/javascript"
            src="/ZXHJYJXJ/struts/dojo/dojo.js"></script>
    <script type="text/javascript"
            src="/ZXHJYJXJ/struts/simple/dojoRequire.js"></script><script type="text/javascript"
            src="/ZXHJYJXJ/struts/ajax/dojoRequire.js"></script>
    <script type="text/javascript"
            src="/ZXHJYJXJ/struts/CommonFunctions.js"></script> 
        <link rel="stylesheet" type="text/css" href="/ZXHJYJXJ/css/global.css">
        <style>
        
    #iframe{
    top:0px;
    left:100px;
    height: 100%;
    }

    object{
    left:100px;
    border:0px solid silver;
    width:670px;
    height:100%;
    }

    #main {
     height: 100%;
     width: 824;
    }

    #left {
     float: left;
     height: 100%;
     width: 150px;
     border: 1px solid #00FF00;
     top:0px;
    }
    </style>
    </head>
    <body><script language="JavaScript">
    function treeNodeSelected(arg) {
    var t = arg.source.title;
    var sUrl = "test.html";
    //alert(arg.source.widgetId);
        var ifra=document.getElementById("iframe");
      ifra.innerHTML='<object id="obj1" type="text/html" data="'+sUrl+'"></object>';
    }
    dojo.addOnLoad(function() {                
        var s = dojo.widget.byId('treeId').selector;                
        dojo.event.connect(s, 'select', 'treeNodeSelected');
    });
    </script><div id="main"><div  id="left">  
     <script type="text/javascript">
            <!--
            dojo.require("dojo.lang.*");
            dojo.require("dojo.widget.*");
            dojo.require("dojo.widget.Tree");
            // dojo.hostenv.writeIncludes();
            -->
     </script>
    <div dojoType="Tree"   
        id="treeId"
        publishSelectionTopic="treeSelected"
        toggle="fade"
        >
        
    <div dojoType="TreeNode" title="全部" id="-1">
        
    <div dojoType="TreeNode" title="aaaa" id="aa">
    <div dojoType="TreeNode" title="aaaa-1" id="3501"></div>   
    <div dojoType="TreeNode" title="aaaa-2" id="3502"></div>  
    <div dojoType="TreeNode" title="aaaa-3" id="3503"></div>
    </div>
        
    <div dojoType="TreeNode" title="bbbb" id="bb"></div>
        
    <div dojoType="TreeNode" title="cccc" id="cc">
    <div dojoType="TreeNode" title="cccc-1" id="dd"></div>
    </div></div>
    </div></div><div id="iframe" ></div>
    </body>
    </html>
      

  5.   

    <div dojoType="Tree"   
      id="treeId"
      publishSelectionTopic="treeSelected"
      toggle="fade"
      >
        
    <div dojoType="TreeNode" title="全部" id="-1">
        
    <div dojoType="TreeNode" title="aaaa" id="aa">
    <div dojoType="TreeNode" title="aaaa-1" id="3501"></div>   
    <div dojoType="TreeNode" title="aaaa-2" id="3502"></div>   
    <div dojoType="TreeNode" title="aaaa-3" id="3503"></div>
    </div>
        
    <div dojoType="TreeNode" title="bbbb" id="bb"></div>
        
    <div dojoType="TreeNode" title="cccc" id="cc">
    <div dojoType="TreeNode" title="cccc-1" id="dd"></div>
    </div></div>
    </div></div>我把加红的去掉就不会再弹出窗口,这是为什么???
      

  6.   


    弹新的窗口,肯定是你在引用的时候,属性设置成了 target="_blank" 这个跟<a>里的属性一样,在这个里面也要设置。自己查查方法看看。
      

  7.   

    不是啊 我加载这个页面后  是另外页面的target失效了 
     
      

  8.   

     去掉这个 dojoType="Tree" 别的失效吗
      

  9.   

    这个目前还搞明白 , 已经换了个方法 ,用jquery做了一个菜单了  谢谢各位!