Java Blog for Alex Wan

          Let life be beautiful like summer flowers and death like autumn leaves.

          統計

          留言簿(10)

          BlogJava

          Blogs

          DIV+CSS

          JQuery相關

          友情鏈接

          常去的地方

          數據供應

          閱讀排行榜

          評論排行榜

          將appfuse應用于pgsql的時候碰到的若干問題

          入門參考文章
          http://www.ibm.com/developerworks/cn/java/j-lo-appfuse/index.html
          將appfuse應用于pgsql的時候碰到的若干問題:

          ant new之后在用eclipse打開項目會有五個錯誤--原因是.classpath文件里面聲明了五個src類型的文件夾

          碰到的數據庫相關問題----原因在于使用的是pgsql
          在建立的項目文件夾里ant setup的時候會出錯,原因在于數據庫的設置錯誤:
          解決的方法:
          將build.properties里面關于數據庫設置的內容釋放出來,并根據自己的需要修改各個key對應的value
          另外:如果還引用database.name還要添加database.name=postgres這樣一個屬性,否則會報錯說database.name不存在
          運行 ant test-all
          會出現另外一個錯誤:role "test" doesn't exist.
          解決的方法:
          將properties.xml中的

          <property name="database.username" value="test"/>
          <property name="database.password" value="test"/>
          改成
          <property name="database.username" value="postgres"/>
          <property name="database.password" value=""/>

          再運行 ant test-all
           在開啟tomcat的時候會出錯(如果tomcat設置和默認的不同)
          默認的定義在properties.xml的這幾項設置

          <property name="tomcat.server" value="localhost"/>
              
          <property name="tomcat.manager.url" value="http://${tomcat.server}:${http.port}/manager"/>
              
          <property name="tomcat.username" value="admin"/>
              
          <property name="tomcat.password" value="admin"/>

          只要將這幾項改成和真實的tomcat設置,下面是我的例子:
           <property name="tomcat.server" value="localhost"/>
           
          <property name="tomcat.manager.url" value="http://${tomcat.server}:8686/manager"/>
           
          <property name="tomcat.username" value="admin"/>
           
          <property name="tomcat.password" value=""/>
          再次運行ant test-all,到最后還是會有錯,這是因為國際化文件的亂碼問題(中文),而且這個亂碼不是所有字符都亂碼
          而是,只有個別文字亂碼--當然具體原因我也不知道,能做的就是按照上下文進行編輯了!
          資源文件所在位置:web/WEB-INF/classes
          在這里我使用的Properties Editor,比較方便(我可以提供一份已修改好的資源作為參考)!

          <其實這里如果用ant deploy命令是可以啟動項目的啦,只是登陸頁面測試的結果和期待的結果用一樣>

          另外切換到英文的時候也會找不到國際化的內容,反而裝載了中文的資源文件的內容;這里是因為
          ApplicationResources_en.properties文件是空的,估計原因是在裝載資源文件的順序上的原因吧,
          我發現ApplicationResources.properties并不是空的,原則上是不會去裝載中文的資源文件啊。
          解決這個問題只要將ApplicationResources.properties的內容拷貝到ApplicationResources_en.properties
          就可以了(這里有一種治標不治本的味道)。

          在初生成版本的用戶列表里面也又亂碼的問題(中文的情況下),在表頭和表尾的地方!
          這樣編輯另外一個文件:
          displaytag_zh_cn.properties--路徑為web/WEB-INF/classes
          切換到英文版的時候發現又裝載了中文的資源內容,檢查原來是缺失了這個文件:
          displaytag_en.properties
          創建一個文件并使用編輯之!
          具體的內容可以參考

          http://displaytag.sourceforge.net/configuration.html

          現在在項目目錄下運行ant deploy然后訪問,就可以出現一個基本正常的期望站點了。

          By the way:ant deploy命令有時候會出現tomcat使用cpu占用率非常高的現象(導致卡機),至少我自己就發生了幾次。:(

          現在讓我們來嘗試一下新的工具:AppGen代碼生成:
          創建數據表,生成代碼,關聯hibernate文件,這些都不累贅了,因為前面所說的入門文章里面都有說了,照做便是!
          不過這里也出現了問題,在我們運行回到項目文件夾里ant deploy之后,去訪問剛生成的文件的添加頁面的時候,你會發現有問題。

          No form found under 'mytablenameForm' in locale 'zh_CN'
          解決這個問題有兩種方法:
          (1)在build/yourapp/WEB-INF/pages/下找到你生成的文件中的form.jsp文件,去掉script標簽內的內容,并去除form的檢驗
          (2)在build/yourapp/WEB-INF的validation.xml文件中加入你對應的那個form,當然這里需要至少檢查一個field!
          選擇哪種方法依具體情況而定.

          再運行ant deploy,在之前出錯的地方就不再出錯了!

          關于新生成表的國際化:
          AppGen生成代碼的時候只在 ApplicationResources.properties種添加了相關的元素
          我們要做的工作就需要修改ApplicationResources_en.properties(直接拷貝)和
          ApplicationResources_zh_CN.properties(拷貝并編輯)才能實現國際化

           


          小小的總結一下:
          Appfuse的優點:當然是快了,生成的代碼非常清晰,人工干預比較少,部署方便。

          目前的現實:appfuse的模板(主要是在國際化方面)似乎本身還有有點問題,出現不少亂碼。

          團隊的問題:使用ant,對程序員的要求比較高,特別是習慣了用可視化ide編程的程序員,對這種方式比較抵觸。

           

          --后來我發現可以在AppFuse的目錄下(web/WEB_INF/classes)替換掉之前的原文件,在生成的件就不會亂碼了
          哦啊啊啊啊--我打開解壓后appfuse一看,偶的神仙的,appfuse解壓之后就是一個eclipse項目----如果我之間去編輯解壓后的
          appfuse,然后在用ant命令(或直接在eclipse用)生成項目,又會怎么樣呢?真又一種迫不及待要試一下的感覺! 



           



          Let life be beautiful like summer flowers and death like autumn leaves.

          posted on 2008-06-07 09:39 Alexwan 閱讀(297) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 浦东新区| 濮阳市| 霍林郭勒市| 洪江市| 乐陵市| 敦化市| 牟定县| 富锦市| 兴义市| 马边| 扎鲁特旗| 三门县| 伊春市| 南和县| 永吉县| 富川| 碌曲县| 德格县| 白玉县| 监利县| 永川市| 义乌市| 工布江达县| 斗六市| 晴隆县| 徐州市| 泸溪县| 东阳市| 榆林市| 雷州市| 舟曲县| 肇东市| 双桥区| 昌都县| 桐庐县| 彭山县| 佛坪县| 抚松县| 南皮县| 胶州市| 盐城市|