隨筆 - 6  文章 - 3  trackbacks - 0
          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          我的51博客,有空看看

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          昨天聽到一個同事在說Eclipse老是反應好慢,常常出現內存不足的情況。
          在網上查了一下關于這方法的東東,有的說在后面加參數,我原來試過,沒有發現有很大的效果,不過在網上看到一則說在Eclipse中查看JVM的內存使用情況的,覺的挺有意思的,其實我另一個Eclipse3.2的開發環境沒有設置任何的配置也可以查看同樣的效果,我就是不明白那是怎么出來的,還害的我在菜單中找了好多都沒有調用出來。按網上說的試著去設置了一下,成功了,看起來也不錯。
          方法如下:
          1.在eclipse根目錄下建立一個文件,文件名options,不要加后綴直接保存,文件內容org.eclipse.ui/perf/showHeapStatus=true
          2.修改eclipse目錄下的eclipse.ini文件,在開始添加如下內容:
          -debug
          options
          -vm
          javaw.exe
          重新啟動eclipse,就可以看到下方狀態條多了JVM的信息

          posted @ 2007-04-12 16:15 lansky07 閱讀(2205) | 評論 (0)編輯 收藏

          XWork配置詳述

          XWork配置文件是以“xwork”命名的.xml文件,它必需放到類路徑(classPath)的根目錄, Web應用一般放在classes目錄中,它需要遵守DTD的規范(現在是xwork-1.0.dtd)。這個文件定義了我們的ActionInterceptorResult的配置和相互之間的映射。下面我們看看用戶注冊的完整XWork配置文件:

          <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">

          <xwork>

              <include file="webwork-default.xml"/> 

              <package name="example" extends="webwork-default">

                 <action name="register" class="example.register.RegisterAction" >

                     <result name="success" type="dispatcher">

                        <param name="location">/register-result.jsp</param>

                     </result>

                     <interceptor-ref name="params"/>

                 </action>  

                 <action name="registersupport" class="example.register.RegisterActionSupport" >

                     <result name="success" type="dispatcher">

                        <param name="location">/register-result.jsp</param>

                     </result>

                     <result name="input" type="dispatcher">

                        <param name="location">/registerSupport.jsp</param>

                     </result>

                     <interceptor-ref name="validationWorkflowStack"/>

                 </action> 

              </package>

          </xwork>

          xwork.xml文件的標簽元素

          Xworkxwork配置文件的所有內容,都是定義在<xwork>標簽中,它的直接子標簽有<package><include>

          Package我們的ActionInterceptorResult都是在此標簽中定義。<package>標簽有一個必需的屬性“name”,它用來標識唯一的一個package。屬性“extends”是可選的,它用來繼承前面定義的一個或一個以上package配置信息,包括所有的interceptorinterceptor-stackaction的配置信息。注意,配置文件按文檔的順序,由上向下執行,因此,用“extends”引用的package必需在引用之前定義。屬性“sbstract”是可選的,它用來設置package為抽象的package,它可以被繼承同時它的Action配置信息在運行時將不可見。

          屬性namespace也是可選的,它用來分隔不同package定義的action,讓這些action處于不同的命名空間(namespaces)。這樣,我們不同的package可以有相同的action命名,因為可以通過命名空間來區分。如果不指定namespace,默認的是空字符串。命名空間也可以被用在安全控制方面,它可以根據不同的命名空間指定不同的訪問權限。

          是否必需

            

          name

          用來標識package的名稱

          extends

          繼承它所擴展的package配置信息

          namespace

          指定package的命名空間,默認是””

          abstract

          聲明package是抽象的

           

          Result-type用來定義輸出結果類型的Class,它用簡單的名-值對來定義。當然,我們自己寫的輸出結果類型也必需在這里定義。例如:

          <result-type name="dispatcher" class="com.opensymphony.webwork.dispatcher.ServletDispatcherResult" default="true"/>default="true"表示如果在Actionresult中不指定result-type,就使用這個默認的result-type

          Interceptors它是一個簡單的<interceptors>  <interceptors/>標簽,我們的interceptorinterceptor-stack都在此標簽內定義。

          Interceptor當然,就是用來定義我們的攔截器。它的定義非常簡單,名-值對的形式。例如:<interceptor name="timer" class="com.opensymphony.xwork.interceptor.TimerInterceptor"/>。在action中,可以通過<interceptor-ref />來直接引用前面定義了的攔截器。

          Interceptor-stack用來將上面定義的interceptor組織成堆棧的形式,這樣我們就可以創建一組標準的interceptor,讓它按照順序執行。在我們的Action中直接引用這個interceptor堆棧就可以了,不用逐個interceptor去引用。

          例如:

          <interceptor-stack name="validationWorkflowStack">

                         <interceptor-ref name="defaultStack"/>

                          <interceptor-ref name="validation"/>

                          <interceptor-ref name="workflow"/>

                      </interceptor-stack>

          Interceptor Param:我們的interceptor是在ActionConfig級別被實例化和存儲的,也就是說一個Action引用的每個interceptor都會有相應的實例。這樣,我們在定義和引用interceptor的時候都可以為它設置相應的參數值。例如:

          <interceptor name="test" class="com.opensymphony.xwork.TestInterceptor">

              <param name="foo">expectedFoo</param>

          </interceptor>

          ActionInterceptor-stack中引用時也可以設置參數,例如:

          <interceptor-ref name="test">

              <param name="expectedFoo">expectedFoo</param>

          </interceptor-ref>

          注意:在Action引用的時候,如果引用的是Interceptor-stack,則不允許設置參數,否則會報錯。

           

          Global-results它允許我們定義全局的輸出結果(global result),比如登陸頁面、操作錯誤處理頁面。只要繼承它所在的package,這些輸出結果都是可見的。

          例如:

          <global-results>

                     <result name="login" type="dispatcher">

                        <param name="location">/login.jsp</param>

                     </result>

                     <result name="error" type="dispatcher">

                        <param name="location">/error.jsp</param>

                     </result>

                 </global-results>

          如果我們的Action執行完返回“login”,它將調用上面的這個輸出結果,將輸出派遣到根目錄下的login.jsp頁面。

          Action用來配置Action的名稱(name)和它對應的Class。我們將通過這個Action的名稱和它所在packagenamespace去配置文件中取得這個Action的配置信息。它可以通過<param>來設置參數,Action在執行的時候會取得配置文件里設置的參數(通過攔截器StaticParametersInterceptor)。

          Action可以配置一個或多個輸出結果(result)。一個輸出結果的名稱,對應于Action執行完成返回的字符串。<result>標簽的type屬性,對應我們前面定義過的result-type,說明reslut的類型。例如:

          <action name="register" class="example.register.RegisterAction" >

                     <result name="success" type="dispatcher">

                        <param name="location">/register-result.jsp</param>

                     </result>

                     <interceptor-ref name="params"/>

                 </action>

          當然,我們的Action用到的攔截器也是在這里配置的,通過<interceptor-ref>標簽,屬性“name”的值,對應前面定義的interceptorinterceptor-stack如果Action中沒有用<interceptor-ref>標簽指定攔截器,它將使用默認的<default-interceptor-ref>標簽定義的攔截器。

          Includexwork..xml文件可以被分成好幾個不同的文件,xwork..xml通過<include>標簽引用被包含的文件,例如:<include file="webwork-default.xml"/>。被包含的文件必需是package標簽里的內容,我們看看<include>標簽在配置文件里的位置就知道了。如果要繼承被包含文件的package,我們必需將<include>標簽放在其上面,因為配置文件是按照由上而下的順序解析的。
          ---轉貼

          posted @ 2007-04-11 19:13 lansky07 閱讀(521) | 評論 (0)編輯 收藏

          今天在做通訊錄的功能模塊,因為要用數展現,在網上搜了一下有關于這方面的資料,現轉貼來看看。

          dtree動態樹+Javascript右鍵菜單(一)
          1、從網上下載dtree控件。(好多地方都有的哦:P)
          2、在Jbuilder中新建Web應用,命名為TreeLearing
          3、解壓縮dtree.rar包。
              把dtree目錄拷貝至TreeLearing應用中。
              dtree目錄下包括這些文件:example01.html 、 dtree.js 、 api.html 、 dtree.css 和img目錄
              注意:除了api.html之外,其它的文件都是必須拷貝的。只有這個api.html是對dtree控件的函數介紹。
          4、復制example01.html,并把粘貼后的文件重命名為Tree.jsp
          :)  (保留原來的文件,以備參考是個好習慣哦~~)
          注意dtree目錄下的文件結構不要改變,否則樹就不會正常顯示
           
          5、在Web應用中指定首頁為Tree.jsp頁面。
          6、Tree.jsp中的代碼如下:
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<html>
          <head>
           <title>Destroydrop &raquo; Javascripts &raquo; Tree</title>
           <link rel="StyleSheet" href="dtree.css" type="text/css" />
           <script type="text/javascript" src="dtree.js"></script>
          </head>
          <body>
          <h1><a href="/">Destroydrop</a> &raquo; <a href="/javascripts/">Javascripts</a> &raquo; <a href="/javascripts/tree/">Tree</a></h1>
          <h2>Example</h2>
          <div class="dtree">
           <p><a href="javascript: d.openAll();">open all</a> | <a href="javascript: d.closeAll();">close all</a></p>
           <script type="text/javascript">
            <!--
            d = new dTree('d');
            d.add(0,-1,'My example tree');
            d.add(1,0,'Node 1','example01.html');
            d.add(2,0,'Node 2','example01.html');
            d.add(3,1,'Node 1.1','example01.html');
            d.add(4,0,'Node 3','example01.html');
            d.add(5,3,'Node 1.1.1','example01.html');
            d.add(6,5,'Node 1.1.1.1','example01.html');
            d.add(7,0,'Node 4','example01.html');
            d.add(8,1,'Node 1.2','example01.html');
            d.add(9,0,'My Pictures','example01.html','Pictures I\'ve taken over the years','','','img/imgfolder.gif');
            d.add(10,9,'The trip to Iceland','example01.html','Pictures of Gullfoss and Geysir');
            d.add(11,9,'Mom\'s birthday','example01.html');
            d.add(12,0,'Recycle Bin','example01.html','','','img/trash.gif');
            document.write(d);
            //-->
           </script>
          </div>
          <p><a href="mailto:drop@destroydrop.com">&copy;2002-2003 Geir Landr&ouml;</a></p>
          </body>
          </html>
           
          7、刪除紫紅色部分的代碼,因為不需要哦。
          8、注意看綠色和藍色部分的代碼,這才是真正為樹添加節點的部分。
              d.add(0,-1,'My example tree');
              這一句為樹添加了一個根節點,顯示名稱為'My example tree'
              d.add(1,0,'Node 1','example01.html');
              這一句在樹的根節點下面添加了一個子節點。(d.add()方法的參數具體含義可參見api.html文件)
              常用的:
              第一個參數,表示當前節點的ID
              第二個參數,表示當前節點的父節點的ID
              第三個參數,節點要顯示的文字
              第四個參數,點擊該節點的超鏈接(注意也可以是某個servlet或是struts應用中的某個.do請求)
              第五個參數,鼠標移至該節點時顯示的文字
              第六個參數,指定點擊該節點時在哪個楨中打開超鏈接
              ……
          9、運行應用程序。可以看到一棵漂亮的樹。
          原貼地址
          http://minifishpingping.spaces.live.com/blog/cns!167be6972d4b3ac!139.entry

          Dtree所引用的css
          一:dtree.css

          .dtree {//定義目錄樹節點的字體,字號,顏色

          font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;

          font-size: 12px;

          color: #006600;

          white-space: nowrap;

          }

          .dtree img {//定義選用節點圖標的樣式,位置

          border: 0px;

          vertical-align: middle;

          }

          .dtree a {//

          color: #006600;

          text-decoration: none;

          }

          .dtree a.node, .dtree a.nodeSel {

          white-space: nowrap;//表格隨著文字自動伸展(如果未設置TD寬度,則noWrap屬性是起作用的;如果設置了TD寬度,則noWrap屬性是不起作用的。)

          padding: 0px 0px 0px 0px;

          }

          .dtree a.node:hover, .dtree a.nodeSel:hover {

          color: #006600;

          text-decoration: none;

          }

          .dtree a.nodeSel {//節點選中后的節點背景顏色

          background-color: #c0d2ec;

          }

          .dtree .clip {

          overflow: hidden;

          }


          二:tree.css

          body {SCROLLBAR-FACE-COLOR:#D2FFD2;

          SCROLLBAR-HIGHLIGHT-COLOR: #8AA583;

          SCROLLBAR-SHADOW-COLOR: #8AA583;

          SCROLLBAR-3DLIGHT-COLOR: #ffffff;

          SCROLLBAR-ARROW-COLOR: #8AA583;

          SCROLLBAR-TRACK-COLOR: #E1FFE1;

          SCROLLBAR-DARKSHADOW-COLOR: #ffffff;

                 background-attachment: fixed;

          //scroll :  背景圖像是隨對象內容滾動

          //fixed :  背景圖像固定

                 background-repeat: no-repeat;

          //background-repeat : repeat | no-repeat | repeat-x | repeat-y

          //repeat :  背景圖像在縱向和橫向上平鋪

          //no-repeat :  背景圖像不平鋪

          //repeat-x :  背景圖像在橫向上平鋪

          //repeat-y :  背景圖像在縱向平鋪

                 background-color: EFF7F7;

          }

          Dtree目錄樹的總結
          一:函數1:頁面中tree.add(id,pid,name,url,title,target,icon,iconOpen,open);參數說明:id          :節點自身的idpid        :節點的父節點的idname     :節點顯示在頁面上的名稱url         :節點的鏈接地址title       :鼠標放在節點上所出現的提示信息target    :節點鏈接所打開的目標frame(如框架目標mainFrame或是_blank,_self之類)icon       :節點關閉時的顯示圖片的路徑iconOpen:節點打開時的顯示圖片的路徑open     :布爾型,節點是否打開(默認為false)注:open項:頂級節點一般采用true,即pid是-1的節點2:dtree.js文件中約87-113行是一些默認圖片的路徑,注意要指對。二:頁面中的書寫1:默認值的書寫規則(從左至右,依次省略)即 tree.add(id,pid,name,url);后面5個參數可以省略2:有間隔時的默認值(如存在第6個參數,但第5個參數想用默認值)即 tree.add(id,pid,name,url,"",target);必須這樣寫其他 tree.add(id,pid,name,url,"","","","",true);3:樣式表(1):可以將dtree.css中的樣式附加到你的應用中的主css中,如a.css(2):也可以同時引用dtree.css與a.css兩個文件,但前提條件是兩個css文件中不能有重復的樣式<link href="/jingjindatabase/pub/css/a.css" rel="stylesheet" type="text/css" />
          <link href="/jingjindatabase/pub/css/dtree.css" rel="stylesheet" type="text/css" />
          4:頁面代碼書寫的位置是:一般寫在表格的td之中<script type="text/javascript" src="/myMobanGis/pub/js/dtree.js"></script>
          <script type="text/javascript">
          tree = new dTree('tree');
          tree.add("1","-1","京津","","","","","",true);
          tree.add("11","1","A","","","","","",true);
          tree.add("110","11","A-1","content.jsp?moduleName=XXX","","mainFrame");
          tree.add("111","11","A-2","javascript:void(0)","","鏈接在哪里顯示");
          tree.add("112","11","A-3","javascript:void(0)","","mainFrame");
          tree.add("113","11","A-4","/.jsp","","mainFrame");
          tree.add("114","11","A-5","/.jsp","","mainFrame");
          tree.add("115","11","A-6","/.jsp","","mainFrame");

          tree.add("12","1","B","","","","","",true);
          tree.add("121","12","B-1","javascript:調用本頁內的js函數","","mainFrame");
          tree.add("122","12","B-2");tree.add("13","1","C","","","","","",true);
          tree.add("131","13","C-1","javascript:void(0)","","mainFrame");
          tree.add("132","13","C-2","javascript:void(0)","","mainFrame");
          tree.add("133","13","C-3","javascript:void(0)","","mainFrame");tree.add("14","1","D","","","","","",true);
          tree.add("141","14","D-1","javascript:void(0)","","mainFrame");
          document.write(tree);
          </script>
          說明:這是靜態的代碼,動態的可用循環加入。
          三:css文件的注解

          1:dtree.css

          .dtree {//定義目錄樹節點的字體,字號,顏色
          font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
          font-size: 12px;
          color: #006600;
          white-space: nowrap;
          }
          .dtree img {//定義選用節點圖標的樣式,位置
          border: 0px;
          vertical-align: middle;
          }
          .dtree a {//
          color: #006600;
          text-decoration: none;
          }
          .dtree a.node, .dtree a.nodeSel {
          white-space: nowrap;
          padding: 0px 0px 0px 0px;
          }
          .dtree a.node:hover, .dtree a.nodeSel:hover {
          color: #006600;
          text-decoration: none;
          }
          .dtree a.nodeSel {
          background-color: #c0d2ec;
          }
          .dtree .clip {
          overflow: hidden;
          }

          原貼地址http://blog.sina.com.cn/u/4ae9618f010006y3

          posted @ 2007-04-11 17:39 lansky07 閱讀(2663) | 評論 (3)編輯 收藏
          主站蜘蛛池模板: 廉江市| 嘉定区| 二连浩特市| 迭部县| 景德镇市| 太谷县| 军事| 麻城市| 马尔康县| 花莲市| 上栗县| 弥渡县| 北辰区| 太仆寺旗| 岗巴县| 永宁县| 漾濞| 肃宁县| 鄂托克旗| 商河县| 永济市| 边坝县| 巧家县| 合山市| 海安县| 双江| 林芝县| 嘉荫县| 兰州市| 若尔盖县| 屏南县| 高雄县| 焦作市| 佛坪县| 望都县| 库尔勒市| 襄城县| 乐至县| 搜索| 靖江市| 泉州市|