云自無心水自閑

          天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
          posts - 288, comments - 524, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          1、發(fā)布了MyBatis3.0.3, 具體內容不詳,沒有能夠發(fā)現(xiàn)release notes.
          2、發(fā)布了mybatis-generator 1.3.0, 這是一個能夠根據(jù)數(shù)據(jù)庫的表自動生成mybatis的
                  sqlmap xml文件
                  與數(shù)據(jù)表對應的java class
                  使用上兩個文件的java類
          我下載后,嘗試著使用了一下,發(fā)現(xiàn)需要有一個配置文件,我覺得應該是用于提供數(shù)據(jù)庫連接的信息。但是配置文件的格式不詳。
          現(xiàn)在發(fā)現(xiàn)mybatis的文檔比較成問題,很多東西都沒有說明,使用起來很困難啊。
          3、新增了兩個中方翻譯文檔
                  # MyBatis 3 User Guide Simplified Chinese.pdf
                  # MyBatis-Spring Reference Simplied Chinese.pdf
          4、發(fā)布了mybatis-spring-1.0.0-RC2
          5、發(fā)布了mybatis-guice-1.0.0-RC3

          posted @ 2010-11-02 08:10 云自無心水自閑 閱讀(2639) | 評論 (1)編輯 收藏

          主要是一些bug修復和改進,最重要的一點是能夠從link對象生成絕對路徑了。
          這主要是便于ajax的使用。

          Bug

              *  Element.forceAttribute uses the element's namespace to match the attribute.
              *  Element.attribute(String name, String value) adds elements that already exist
              *  Element#addClassName can create an additional new 'class' attribute
              *  Properties defined in an Interface are not exposed by PropertyAccess for abstract classes that do not directly implement the methods
              *  Some services require a notification that they have been reloaded, so they can clean up external dependencies
              *  Whitespaces in SymbolConstants.SUPPORTED_LOCALES cause that locales are not persised
              *  Validation macros do not work when used in @Validate annotation
              *  Client-side validation of @Pattern is broken
              *  Linking a Form to a Zone will no longer work unless the Form contains validated fields
              *  When using PropertyShadowBuilder to build a service, if the property is null, an immediate exception is needed (rather than a NullPointerException)
              *  When using a MultiZoneUpdate, Tapestry will clear the referenced zone

          Improvement

              *  Add the facility to optionally disable on-focus-change triggered validation while retaining the on-form-submit validation
              *  Form component should be able to render a secure URL even on an insecure page
              *  New annotations @Decorate and @Advise to identify methods that decorate or annotate services
              *  Extend Link with new methods for producing absolute URLs (that include scheme, hostname, etc.)
              *  Simplify connecting a link or form to an (enclosing) Zone
              *  BeanBlockContribution should be split into two sub-classes: EditBlockContribution and DisplayBlockContribution
              *  Define a special CSS class to prevent a client-side form from submitting normally (for Ajax use cases)
              *  Additional method for Link: addParameterValue(String,Object) that uses ContextPathEncoder to encode object value to a string
              *  SeleniumTestCase should expose the underlying CommandProcessor, to allow execution of commands not defined by the Selenium interface
              *  Allow individual SeleniumTestCases to run w/o configuring SeleniumLauncher

          posted @ 2010-11-02 07:58 云自無心水自閑 閱讀(642) | 評論 (0)編輯 收藏

          今天在網(wǎng)上轉了轉,發(fā)現(xiàn)Tapestry又有了新動作。
          1、從5.2.0alpha版8月11日發(fā)布到現(xiàn)在,終于發(fā)布5.2.1Beta版了。這個版本主要是修改alpha版本中的bug.
          5.2相對于5.1進行了許多重大的改進,詳細內容可見:Tapestry5.2的新變化
          2、據(jù)稱在5.3版中將引入大量的新功能,具體內容不詳。
          3、以往最令人詬病的文檔問題,目前開發(fā)小組也在努力解決。
               首先,建立了新的文檔網(wǎng)頁:http://people.apache.org/~uli/tapestry-site/,不過目前這個網(wǎng)站還沒有完全完成,只能算是預覽版,但是這畢竟是在正確的道路上前進。
               其次,Tapestry 5 in action一書正在寫作中,已經(jīng)完成20%,預計明年一季度能夠出版。
          我相信,隨著功能的不斷完善和補充,再加上文檔的逐漸充實,Tapestry完全有理由能吸引更多的開發(fā)者來關注和使用。

          posted @ 2010-10-20 07:38 云自無心水自閑 閱讀(1702) | 評論 (0)編輯 收藏

          這是mybatis從ibatis更名過來后,發(fā)布的第2個版本(第1個版本是3.0.1)。
          在這個版本中只修復了4個bug(感覺數(shù)目有點少,難道是因為上一個版本的bug真的如此之少?),增加了一個小功能.
          作者的話:盡管只有5個修改,但我還是覺得值得為此發(fā)布一個新版本。
          這5個修改是:
          1、在org.apache.ibatis.Session中增加了一個新方法:void select(String statement, ResultHandler handler);
          原來只有:
           void select(String statement, Object parameter, ResultHandler handler);
           void select(String statement, Object parameter, RowBounds rowBounds, ResultHandler handler);

          2、修復了ManagedConnection中關閉連接的問題
          3、修復了schema migration中,語句提交(statement commit)不正確的問題
          4、修復了延遲加載已經(jīng)預讀取屬性時的問題
          5、修復了schema migration中,F(xiàn)ileInputStream沒有正確關閉的問題

          posted @ 2010-09-13 12:42 云自無心水自閑 閱讀(2405) | 評論 (1)編輯 收藏

          介紹一個使用GIMP來批量處理圖像的方法。 GIMP是一個免費的圖像編輯工具,功能非常強大。并且提供了類似于firefox的插件機制,可以通過添加插件來不斷地獲得新功能。
          批量處理圖像就是通過一個批處理插件來完成的。這個插件的下載地址:http://members.ozemail.com.au/~hodsond/dbp.html
          插件下載后,解壓縮,然后把dbp.exe放在plugin目錄下,比如:C:\Program Files\GIMP-2.0\lib\gimp\2.0\plug-ins
          啟動GIMP,在菜單 Filter 里會發(fā)現(xiàn)一個新的選項:Batch Process...
          點擊這個選項,會彈出一個新窗口,這個就是批處理的操作界面了。
          通過這個插件,我們可以完成 批量改變大小/重命名/旋轉/銳化/模糊/調整亮度/裁剪 這些功能。

          posted @ 2010-08-20 08:51 云自無心水自閑 閱讀(794) | 評論 (0)編輯 收藏

          Tapestry開發(fā)小組中的一個成員的blog中記錄了5.2版本帶來的新變化
          1、增強了class reload的功能(我個人也認為這一點是5.2版本最令人激動的改進),以前Tapestry和其他的web框架類似,修改頁面不需要重新啟動application server, 但是修改了類之后,必須重新啟動應用服務器才行。但是在Tapestry5.2中,對這一點進行了修改,如果只改變了接口的實現(xiàn)類,而不改變接口的方法簽名,就不需要重新啟動應用服務器
          2、新增了若干個組件,比如:Error和Trigger。
          Error和原有的Errors類似,但是Error用于給指定的組件顯示驗證錯誤信息。
          Trigger提供了在瀉染頁面過程中觸發(fā)任務事件的功能,常常用于通過RenderSupport來給頁面添加JavaScript代碼
          3、新的插件(Mixin),包括RenderClientId, RenderNotification
          4、集成了JSR-303 Bean的驗證,現(xiàn)在可以在頁面中使用JSR-303標準的注解來給字段指定需要的驗證
          5、新的注解,包括@Contribute,@RequestParameter, @ActivationRequestParameter, 使用后兩個注解能很容易地獲取request中的參數(shù)
          6、新的頁面生命周期事件:pageReset
          7、鏈接修飾過程中的新事件: decoratePageRenderLink, decoreateComponentEventLink
          8、頁面解析器的更換,原來使用StAX,造成了對Google App Engine和對OSGI的不兼容,5.2版本中使用了標準的SAX解析器
          9、頁面緩沖池的廢除(我認為這是5.2版本的一個相當大而且也是非常重要的一個變化,我認為頁面緩沖池技術是tapestry學習曲線陡峭的一個重要原因),5.2版本中所有頁面將只有一個實例(也就是lewis howard說的單例化),頁面屬性的值將會在每個線程中使用一個Map來保存。這樣一個頁面實例可以在多個線程中使用,而不會有同步問題。
          但是,由于這是一個新的嘗試,所以lewis也不確定這樣做的效果是否很好(詳見:http://tapestryjava.blogspot.com/2010/07/everyone-out-of-pool-tapestry-goes.html)所以,在5.2中可以通過配置恢復頁面緩沖池的使用。

          posted @ 2010-08-18 07:13 云自無心水自閑 閱讀(1077) | 評論 (0)編輯 收藏

          jquery有一個很方便的插件UI Table Filter可以根據(jù)輸入的內容隱藏顯示表格中相應的數(shù)據(jù)行。
          因為目前使用的tapestry捆綁的是prototype,所以就自己寫了一個類似的插件。

          <html>
          <head>
          <script src="prototype-1.6.0.2.js" type="text/javascript"></script>
          <script language="javaScript">
           Event.observe(window, 'load', function() {
            Event.observe('filter', 'keyup', filterTable);
           });
           function filterTable() {
            var filterCaseElement = document.getElementById('filterCase');
            var caseSensitive = filterCaseElement.checked;
            
            $$('tr').each(function(trElement, ind) {
             var val = $('filter').value;
             
             if ( ! caseSensitive ) {
              val = val.toLowerCase();
             }
                 
             trElement.childElements().each(function(tdElememt) {
               var tdText = tdElement.innerText;
              if ( ! caseSensitive ) {
               tdText = tdText.toLowerCase();
              }
              if (tdText.include(val)) {
               trElement.show();
              } else if ( ind > 0 ) {
               trElement.hide();
              }
             });
            });
           }
          </script>

          </head>

           <body>
            filter: <input type="text" id="filter" name="filter"/> <input type="checkbox" id="filterCase" onchange="javaScript:filterTable();"/> Case-Sensitive
            <table border="1">
             <thead>
              <tr>
               <th>name</th>
               <th>column1</th>
               <th>column2</th>
               <th>column3</th>
               <th>column4</th>
               <th>column5</th>
               <th>column6</th>
              </tr>
             </thead>
             <tr>
              <td>TEST</td>
              <td>00150002331</td>
              <td>238156</td>
              <td>075</td>
              <td>001</td>
              <td>172.16.14.20</td>
              <td>1-1-05</td>
             </tr>
             <tr>
              <td>TEST-2</td>
              <td>00150002332</td>
              <td>238157</td>
              <td>075</td>
              <td>002</td>
              <td>172.16.14.21</td>
              <td>1-1-05</td>
             </tr>
             <tr>
              <td>TEST</td>
              <td>00150002333</td>
              <td>238158</td>
              <td>075</td>
              <td>003</td>
              <td>172.16.14.23</td>
              <td>1-1-05</td>
             </tr>
             <tr>
              <td>TEST</td>
              <td>00150002341</td>
              <td>238159</td>
              <td>075</td>
              <td>004</td>
              <td>172.16.14.24</td>
              <td>1-1-05</td>
             </tr>
             <tr>
              <td>TEST</td>
              <td>00150002339</td>
              <td>238186</td>
              <td>075</td>
              <td>006</td>
              <td>172.16.14.26</td>
              <td>1-1-06</td>
             </tr>
            </table>
           </body>
            </html>

          如果頁面中多個表格,而只需要對其中的一個表格的數(shù)據(jù)進行過濾的話,簡單地把其中:$$('tr').each(function(ele, index) 改成 $$('#tableId, tr').each(function(ele, index) 就行了,其中的tableId就是表格的id

          posted @ 2010-07-28 11:02 云自無心水自閑 閱讀(1979) | 評論 (1)編輯 收藏

          今天打開tapestry的網(wǎng)站,發(fā)現(xiàn)tapestry5.2的alpha版本已經(jīng)發(fā)布出來了。
          在5.2中還是新增了不少令人激動的功能
          1、QueryParameterMapped注解,使用這個注解可以很方便地把request中的參數(shù)映射到bean里的屬性
          2、(這是最讓我期待的功能)服務終于能夠動態(tài)加載了!
          3、在事件處理方法中可以使用QueryParameter來注解參數(shù)
          4、submit組件現(xiàn)在可以cancel表單里的數(shù)據(jù)了
          5、不再使用StAX作為tml的解析器了,而是采用標準的SAX解析器,這樣減少外界引用,而且兼容性更好
          6、組件中也可以使用SessionAttribute來獲得session中的數(shù)據(jù)了,以前好像只有在page中才能用
          7、引入了JSR-303 Bean Validation Integration Library.

          posted @ 2010-07-15 08:20 云自無心水自閑 閱讀(1552) | 評論 (2)編輯 收藏

          GIMP(http://www.gimp.org/)是一個開源的圖形處理工具,功能與PHOTOSHOP相比也并不相差太多。
          1、選擇要保留的圖形,
          有2種辦法,第一種就是直接用魔術棒工具來選擇,但一般來說這部分圖形的色彩比較復雜,選擇起來相對困難
          第2種辦法是先選擇背景,然后使用“反向選擇”。
          友情提示:在使用魔術棒的時候,有4種模式,可以利用其中的添加,減少來不斷地修正選擇的范圍
          2、打開圖層面板
          3、菜單:選擇->浮動,在圖層面板中可以看到多一個浮動的圖層,但是現(xiàn)在圖層里還沒有東西
          4、菜單:圖層->創(chuàng)建,這時候就可以看到,在剛才多出來的浮動圖層中出現(xiàn)了選擇好的要保留的圖像
          5、去除背景圖層,點擊背景圖層前面的眼睛,使得背景圖層不可見
          保存,生成透明背景的新圖像

          posted @ 2010-07-14 09:33 云自無心水自閑 閱讀(3691) | 評論 (0)編輯 收藏

          CardLayout布局管理器能夠幫助用戶處理兩個以至更多的成員共享同一顯示空間,它把容器分成許多層,每層的顯示空間占據(jù)整個容器的大小,但是每層只允許放置一個組件,當然每層都可以利用Panel來實現(xiàn)復雜的用戶界面.布局管理器(CardLayout)就象一副疊得整整齊齊的撲克牌一樣,有54 張牌,但是你只能看見最上面的一張牌,每一張牌就相當于布局管理器中的每一層.

          流式布局管理器把容器看成一個行集,好象平時在一張紙上寫字一樣,一行寫滿就換下一行。行高是用一行中的控件高度決定的。FlowLayout是所有 JApplet/JApplet的默認布局。在生成流式布局時能夠指定顯示的對齊方式,默認情況下是居中(FlowLayout.CENTER)

          GridLayout 將成員按網(wǎng)格型排列,每個成員盡可能地占據(jù)網(wǎng)格的空間,每個網(wǎng)格也同樣盡可能地占據(jù)空間,從而各個成員按一定的大小比例放置。如果你改變大小, GridLayout將相應地改變每個網(wǎng)格的大小,以使各個網(wǎng)格盡可能地大,占據(jù)Container容器全部的空間。
          基本布局策略是把容器的空間劃分成若干行乘若干列的網(wǎng)格區(qū)域,組件就位于這些劃分出來的小區(qū)域中,所有的區(qū)域大小一樣。組件按從左到右,從上到下的方法加入。

          BoxLayout布局能夠允許將控件按照X軸(從左到右)或者Y軸(從上到下)方向來擺放,而且沿著主軸能夠設置不同尺寸。

          posted @ 2010-07-05 09:38 云自無心水自閑 閱讀(4125) | 評論 (2)編輯 收藏

          僅列出標題
          共29頁: First 上一頁 5 6 7 8 9 10 11 12 13 下一頁 Last 
          主站蜘蛛池模板: 延川县| 苏尼特右旗| 布尔津县| 昭苏县| 高尔夫| 华阴市| 长汀县| 遂川县| 湘阴县| 许昌市| 崇左市| 会泽县| 镇康县| 阆中市| 英吉沙县| 新宾| 江城| 彭阳县| 那坡县| 阆中市| 盱眙县| 工布江达县| 温州市| 蓝田县| 商水县| 武清区| 湘潭县| 阜新| 五常市| 儋州市| 天祝| 丹阳市| 兖州市| 新竹市| 吕梁市| 敦化市| 灌阳县| 陆河县| 德江县| 郁南县| 荆门市|