ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩精品一区二区三区蜜桃 ,亚洲一区中文字幕,综合一区在线http://www.aygfsteel.com/wl95421/archive/2008/11/22/242038.html猪儿½W¨ç¬¨çŒªå„¿½W¨ç¬¨Sat, 22 Nov 2008 14:27:00 GMThttp://www.aygfsteel.com/wl95421/archive/2008/11/22/242038.htmlhttp://www.aygfsteel.com/wl95421/comments/242038.htmlhttp://www.aygfsteel.com/wl95421/archive/2008/11/22/242038.html#Feedback2http://www.aygfsteel.com/wl95421/comments/commentRss/242038.htmlhttp://www.aygfsteel.com/wl95421/services/trackbacks/242038.html阅读全文

猪儿½W¨ç¬¨ 2008-11-22 22:27 发表评论
]]>
数据库徏模èÊYä»¶Aquarius Orm Studio发布正式版本http://www.aygfsteel.com/wl95421/archive/2008/07/04/212636.html猪儿½W¨ç¬¨çŒªå„¿½W¨ç¬¨Fri, 04 Jul 2008 08:20:00 GMThttp://www.aygfsteel.com/wl95421/archive/2008/07/04/212636.htmlhttp://www.aygfsteel.com/wl95421/comments/212636.htmlhttp://www.aygfsteel.com/wl95421/archive/2008/07/04/212636.html#Feedback4http://www.aygfsteel.com/wl95421/comments/commentRss/212636.htmlhttp://www.aygfsteel.com/wl95421/services/trackbacks/212636.htmlAquarius Orm Studio发布正式0.1版本åQŒå¯ä»¥é€šè¿‡ä¸‹é¢åœ°å€è®‰K—®
http://orm.aquatool.org/nl/zh/CN/index.html

下面是它的基本功能介¾l?

  • 数据库正向徏模(支持数据表,存储˜q‡ç¨‹åQŒè§†å›¾ï¼‰åQŒåƈ生成相关DDL
  • 数据库反向工½E‹ï¼Œæ”¯æŒä»Žæ•°æ®åº“导入数据表,存储˜q‡ç¨‹åQŒè§†å›„¡­‰æ•°æ®åº“å…ƒç´?
  • 支持多数据åã^収ͼŒåŒ…括Oracle,DB2,MySql,MsSql(支持2005),Sybase,PostgreSql½{?
  • 生成‹¹‹è¯•数据åQŒå¯ä»¥æ ¹æ®æ•°æ®åº“模型生成‹¹‹è¯•数据åQŒæ–¹ä¾¿è¿›è¡Œå•元测试ã€?
  • 生成相应ORM代码及配¾|®æ–‡ä»Óž¼Œæ”¯æŒHibernate3,OJB,IBatis及OpenJPA
  • 支持多国语言åQŒåŒ…括中文(½Ž€ä½“,台湾¾Jä½“åQŒé¦™æ¸¯ç¹ä½“)åQŒè‹±æ–‡ï¼Œæ—¥æ–‡åQˆè°¢è°¢Judy.Chang的日文翻译)
  • 支持生成Html格式的文档,用来方便½Ž¡ç†å’Œå½’¾c?
  • 支持使用Velocity模板生成多种¾cÕdž‹çš„æ–‡ä»?


它支持Eclipse3.2,Eclipse3.3,Eclipse3.4
在网站可以下相应的All-In-One版本åQˆåŒ…含WTPåQ‰ï¼Œä¹Ÿå¯ä»¥ä¸‹è½½ç›¸åº”çš„RCP版本或者是相应插äšg安装åŒ?
˜q˜å¯ä»¥é€šè¿‡ http://orm.aquatool.org/nl/download/update 在çñ”升çñ”

源代码正在申请Google的代码库åQŒå°†äºŽè¿‘期放出ã€?
开源协议我˜q˜åœ¨è€ƒè™‘中,但个äºÞZ‹É用肯定是永远免费ã€?

如果有问题,可以发站内消息或者直接发Email到wl_95421@yahoo.com.cn与我联系











猪儿½W¨ç¬¨ 2008-07-04 16:20 发表评论
]]>
发布åŸÞZºŽEclipse的数据库建模及ORM框架代码自动生成插äšgçš„RC2版,支持配置文äšg的模æ?/title><link>http://www.aygfsteel.com/wl95421/archive/2007/11/02/157774.html</link><dc:creator>猪儿½W¨ç¬¨</dc:creator><author>猪儿½W¨ç¬¨</author><pubDate>Fri, 02 Nov 2007 08:17:00 GMT</pubDate><guid>http://www.aygfsteel.com/wl95421/archive/2007/11/02/157774.html</guid><wfw:comment>http://www.aygfsteel.com/wl95421/comments/157774.html</wfw:comment><comments>http://www.aygfsteel.com/wl95421/archive/2007/11/02/157774.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wl95421/comments/commentRss/157774.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wl95421/services/trackbacks/157774.html</trackback:ping><description><![CDATA[<p>æ ÒŽ®å¤§å®¶çš„æ„è§ï¼Œå¯¹å·¥å…¯‚¿›è¡Œäº†ä¸€äº›ä¿®æ­£ï¼Œæ·ÕdŠ äº†ä»¥ä¸‹å‡ ä¸ªä¸»è¦çš„åŠŸèƒ½<br /> </p> <ol> <li>数据表自兌™” <li>支持配置文äšg使用模板åQˆæ¨¡æ¿äØ“VelocityåQ? <li>提供了RCP版本 <li>支持Eclipse3.3 <li>更新了帮助文æ¡? <li>支持囄¡‰‡è¾“出 <li>在Eclipse3.3中支持PNG输出格式 </li> </ol> <p> </p> <p>我自己已¾lç”³è¯·äº†ä¸€ä¸ªåŸŸåï¼Œä¸ÀLœºåœ¨å›½å¤–,òq‰™€æ­¥ž®†è‡ªå·Þqš„开源äñ”品及相应的书攑ֈ°ä¸Šé¢åQŒSVN的徏立还在研½I¶ä¸­ã€?br /> 大家可以通过<font face="Arial"><a _fcksavedurl="http://orm.aquatool.org/nl/zh/CN/">http://orm.aquatool.org/nl/zh/CN/</a></font>来访问这个地址åQŒä¸Šé¢æœ‰åœ¨çº¿æ–‡æ¡£åQŒä¸éœ€è¦ä¸‹è½½èÊY件即可了解èÊYä»¶ã€?br /> 有兴­‘£çš„æœ‹å‹åQŒå¯ä»¥é€šè¿‡ä¸‹è²RCP版本来试用,晚一ç‚ÒŽˆ‘会徏立论坛及MailListåQŒå¸Œæœ›å¤§å®¶å¯ä»¥æä¾›æ›´å¤šçš„æ„è§ã€?br /> <br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/wl95421/editTableColumn.png" border="0" /><br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/wl95421/editTableIndex.png" border="0" /><br /> <br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/wl95421/generateCode1.png" border="0" /></p> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/wl95421/openEditor.png" border="0" /><br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/wl95421/generateDdl.png" border="0" /><br /> <img alt="" src="http://www.aygfsteel.com/images/blogjava_net/wl95421/generateCode2.png" border="0" /> <img src ="http://www.aygfsteel.com/wl95421/aggbug/157774.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wl95421/" target="_blank">猪儿½W¨ç¬¨</a> 2007-11-02 16:17 <a href="http://www.aygfsteel.com/wl95421/archive/2007/11/02/157774.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>发布åŸÞZºŽEclipse的数据库建模及ORM框架代码自动生成插äšgåQˆæ”¯æŒHibernate,Ojb,IBatis½{‰ï¼‰http://www.aygfsteel.com/wl95421/archive/2007/09/07/143351.html猪儿½W¨ç¬¨çŒªå„¿½W¨ç¬¨Fri, 07 Sep 2007 03:30:00 GMThttp://www.aygfsteel.com/wl95421/archive/2007/09/07/143351.htmlhttp://www.aygfsteel.com/wl95421/comments/143351.htmlhttp://www.aygfsteel.com/wl95421/archive/2007/09/07/143351.html#Feedback42http://www.aygfsteel.com/wl95421/comments/commentRss/143351.htmlhttp://www.aygfsteel.com/wl95421/services/trackbacks/143351.html下蝲地址

åQˆé‡è¦æ½C?如果安装不成功,ž®è¯•ž®†featureæ–‡äšg夹删掉)

æ–‡äšg比较大,大概有近20MåQŒä‹É用Zip压羃ã€?/p>

现在发布的是Beta版,SourceForge上面的空间正在申诗÷€?br /> 发布的版本,支持Eclipse3.2å’ŒEclipse3.3åQŒéœ€è¦GEF插äšgåQŒå¯ä»¥åœ¨1.4å?.5下运行(我只‹¹‹è¯•了Sun JDK1.4å’ŒJDK1.5的三个版本,òq¶ä¸ä¿è¯æ‰€æœ‰çš„JDK都能˜qè¡ŒåQ‰ã€?br /> RCP版本正整理中åQŒå›½åº†å‰å‘布ã€?br /> 如果有问题,è¯ïL•™­a€

以下是工å…ïLš„介绍

Aquarius ORM Studio介绍
 
    从事软äšg开发多òqß_¼Œæ„Ÿè§‰æ•°æ®åº“在整个软äšg开发过½E‹ä¸­æ‰®æ¼”一个不可或¾~ºçš„角色。一旦一个业务项目进入立™åšw˜¶ŒDµï¼Œéœ€è¦æ”¯æŒå“ªäº›æ•°æ®åº“òq›_°åQŒå¦‚何ä‹É用该¿Uæ•°æ®åº“òq›_°éƒ½å°†æˆäؓ架构师需要考虑的内容,对于一般的开发äh员,则可能根据需要徏立各¿Uæ•°æ®è¡¨åQŒè¿˜å¯èƒ½éœ€è¦é€šè¿‡åå‘工程来了解现有数据库的架构,随着ORM工具的流行,½E‹åºå‘˜è¿˜éœ€è¦å°†æ•°æ®è¡¨æ˜ ž®„到¾cÖM¸ŠåQŒåƈ保证两者间的同步,˜q‡åŽ»å‡ å¹´ä»Žäº‹ç›¸åº”å·¥ä½œçš„ç»éªŒå‘Šè¯‰æˆ‘åQŒè¿™æ—¢ä¸æ˜¯ä¸€ä¸ªè½»æ„¡š„事情åQŒæ›´ä¸æ˜¯ä¸€ä»¶ä×o人感觉愉快的事情。同时市åœÞZ¸Šæœ‰å¤§é‡ä¼˜¿U€çš„æ•°æ®åº“工具åQŒä»Žå»ºæ¨¡åˆ°åˆ†æžï¼Œ˜q˜æœ‰ORMåQŒä½†å¯æƒœçš„æ˜¯åQŒå¤§éƒ¨åˆ†ä¼˜ç§€çš„工具都不是免费的,ž®±åƒæœ€æœ‰åçš„PowerDesigneråQŒå…¶ä»äh ¼ä»¤æˆ‘咋舌。象 PowerDesigner˜q™ä¹ˆå¼ºå¤§çš„工典P¼Œæˆ‘只能用到其中一部分功能åQŒå´è¦ä»˜å‡ºæ‰€æœ‰çš„ä»äh ¼åQŒè€Œä¸”功能却没有满­‘³çš„æˆ‘的需要ã€?br />     所以我萌生了根据自å·Þqš„需求来开发一个数据库 工具的想法,òq¶åœ¨æŽ¥ä¸‹æ¥çš„两年中付诸实施。这个工å…ähˆ‘¿UîCØ“Aquarius Orm StudioåQŒAquarius是水瓶åñ”åQŒæˆ‘的星座,ORM是指˜q™ä¸ªå·¥å…·çš„一个重要功能,Studio是个‹¹è¡Œè¯ã€?br />     ˜q™ä¸ªå·¥å…·å¯ä»¥å®Œæˆä»¥ä¸‹åŠŸèƒ½:
数据库正向徏模(支持数据表,存储˜q‡ç¨‹åQŒè§†å›¾ï¼‰åQŒåƈ生成相关DDL
数据库反向工½E‹ï¼Œæ”¯æŒä»Žæ•°æ®åº“导入数据表,存储˜q‡ç¨‹åQŒè§†å›„¡­‰æ•°æ®åº“å…ƒç´?
支持多数据åã^収ͼŒåŒ…括Oracle,DB2,MySql,MsSql,Sybase,PostgreSql½{?
生成‹¹‹è¯•数据åQŒå¯ä»¥æ ¹æ®æ•°æ®åº“模型生成‹¹‹è¯•数据åQŒæ–¹ä¾¿è¿›è¡Œå•元测试ã€?
生成相应ORM代码及配¾|®æ–‡ä»Óž¼Œæ”¯æŒHibernate3,OJB,IBatis及OpenJPA
支持多国语言åQŒåŒ…括中文(½Ž€ä½“,台湾¾Jä½“åQŒé¦™æ¸¯ç¹ä½“)åQŒè‹±æ–‡ï¼Œæ—¥æ–‡åQˆè°¢è°¢Judy.Chang的日文翻译)



猪儿½W¨ç¬¨ 2007-09-07 11:30 发表评论
]]>
发布自己的一个Eclipsež®å·¥å…äh’ä»Óž¼Œòq¶äؓ自己的数据库建模插äšg作个预告 http://www.aygfsteel.com/wl95421/archive/2007/09/07/143297.html猪儿½W¨ç¬¨çŒªå„¿½W¨ç¬¨Thu, 06 Sep 2007 16:19:00 GMThttp://www.aygfsteel.com/wl95421/archive/2007/09/07/143297.htmlhttp://www.aygfsteel.com/wl95421/comments/143297.htmlhttp://www.aygfsteel.com/wl95421/archive/2007/09/07/143297.html#Feedback8http://www.aygfsteel.com/wl95421/comments/commentRss/143297.htmlhttp://www.aygfsteel.com/wl95421/services/trackbacks/143297.html我的主要工作是做Eclipse插äšgå¼€å?br /> 在开发中åQŒé‡åˆîC¸€äº›é—®é¢˜ï¼Œæ¯”较éºÈƒ¦åQŒè±¡è½¬æ¢æ–‡äšg¾~–码åQŒæˆ–者替换文件内容(Eclipse的虽然支持正则式åQŒä½†åªèƒ½æ›¿æ¢æˆå•行字½W¦ä¸²åQŒä¸çˆ½ï¼‰
所以自己开发一个小插äšgåQŒæ”¾å‡ºæ¥åQŒæ–¹ä¾¿å¤§å®Óž¼Œæ”¯æŒä»¥ä¸‹åŠŸèƒ½:
1、将指定的多个文ä»Óž¼Œ˜q›è¡Œ¾~–码转换åQŒå¦‚GBK->UTF-8åQˆå› ä¸ºæˆ‘做插件开发的时候,默认是GBKåQŒçŽ°åœ¨è¦å‘å¸ƒæºç åQŒå›½å¤–的开发äh员,ž®±æœ‰é—®é¢˜åQŒæ‰€ä»¥åšäº†è¿™ä¸ªæ’ä»Óž¼‰
2、对指定的多个文ä»Óž¼Œ˜q›è¡Œæ›¿æ¢åQŒæ”¯æŒå¤šè¡Œæ–‡æœ¬å’Œæ­£åˆ™å¼?br /> 3、将指定的多个文ä»Óž¼Œæ¢å¤åˆ°æœ€˜q‘一个版本ã€?br />


下蝲地址

另外做个预告:
本周内将发布我的一个Eclipse数据库插ä»Óž¼ˆ¾U?00K行代码)åQŒæ”¯æŒä»¥ä¸‹åŠŸèƒ?
1、数据库正向建模åQˆæ”¯æŒæ•°æ®è¡¨åQŒå­˜å‚¨è¿‡½E‹ï¼Œè§†å›¾åQ‰ï¼Œòq¶ç”Ÿæˆç›¸å…³DDL
2、数据库反向工程åQŒæ”¯æŒä»Žæ•°æ®åº“导入数据表åQŒå­˜å‚¨è¿‡½E‹ï¼Œè§†å›¾½{‰æ•°æ®åº“元素
3、多数据òq›_°åQŒåŒ…括Oracle,DB2,MySql,MsSql,Sybase,PostgreSql½{?
4、生成测试数据,可以æ ÒŽ®æ•°æ®åº“模型生成测试数据,方便˜q›è¡Œå•å…ƒ‹¹‹è¯•ã€?
5、生成相应ORM代码及配¾|®æ–‡ä»Óž¼Œæ”¯æŒHibernate3,OJB,IBatis及OpenJPA






ä»¥ä¸‹æ˜¯äØ“IBatis生成的XML:

<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"    "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
 <sql id="selectUserWhere">
  <dynamic prepend="where">
   ..˜q™é‡Œçœç•¥éƒ¨åˆ†å†…容
       </isPropertyAvailable>
   <isPropertyAvailable prepend="or" property="user_Or_NotNull_State"><![CDATA[STATE_C is not null]]>
   </isPropertyAvailable>
  </dynamic>
 </sql>
 <delete id="deleteUser" parameterClass="String"><![CDATA[
 Delete From demo.user_t
 Where USER_ID=#userId#
]]>
 </delete>
 <select id="getUserRolesByUser" parameterClass="String" resultMap="userRoleResult"><![CDATA[
 Select  USER_ID, ROLE_ID from demo.user_role_t
 
 Where USER_ID=#userId#
]]>
 </select>
 <select id="doCountUser" parameterClass="java.util.Map" resultClass="int"><![CDATA[
 Select count(*) From demo.user_t
 $Where$ $condition$]]>
 </select>
 <update id="updateUser" parameterClass="user"><![CDATA[
 Update demo.user_t SET  USER_ID=#userId# ,  USER_NAME=#userName# ,  PASSWORD=#password# ,  VALID_FROM=#validFrom# ,  VALID_TO=#validTo# ,  TITLE=#title# ,  DESCRIPTION=#description# ,  DOMAIN_C=#domain# ,  GROUP_C=#group# ,  ORDER_C=#order# ,  STATE_C=#state# Where USER_ID=#userId#
]]>
 </update>
 <insert id="insertUser" parameterClass="user"><![CDATA[
 Insert Into demo.user_t(USER_ID , USER_NAME , PASSWORD , VALID_FROM , VALID_TO , TITLE , DESCRIPTION , DOMAIN_C , GROUP_C , ORDER_C , STATE_C)
 Values(#userId# , #userName# , #password# , #validFrom# , #validTo# , #title# , #description# , #domain# , #group# , #order# , #state#)
]]>
 </insert>
 <select id="doSelectUser" parameterClass="java.util.Map" resultMap="userResult"><![CDATA[
 Select  USER_ID, USER_NAME, PASSWORD, VALID_FROM, VALID_TO, TITLE, DESCRIPTION, DOMAIN_C, GROUP_C, ORDER_C, STATE_C from demo.user_t
 
 $Where$ $condition$]]>
 </select>
 <select id="selectUser" parameterClass="java.util.Map" resultMap="userResult"><![CDATA[
 Select  USER_ID, USER_NAME, PASSWORD, VALID_FROM, VALID_TO, TITLE, DESCRIPTION, DOMAIN_C, GROUP_C, ORDER_C, STATE_C from demo.user_t
 
]]>
  <include refid="selectUserWhere"/>
 </select>
 <select id="selectUserByID" parameterClass="String" resultMap="userResult"><![CDATA[
 Select  USER_ID, USER_NAME, PASSWORD, VALID_FROM, VALID_TO, TITLE, DESCRIPTION, DOMAIN_C, GROUP_C, ORDER_C, STATE_C from demo.user_t
 Where USER_ID=#userId#
]]>
 </select>
 <select id="doDeleteUser" parameterClass="java.util.Map"><![CDATA[
 Delete From demo.user_t
 $Where$ $condition$]]>
 </select>
 <delete id="deleteUserByID" parameterClass="String"><![CDATA[
 Delete From demo.user_t
]]>
  <include refid="selectUserWhere"/>
 </delete>
</sqlMap>



猪儿½W¨ç¬¨ 2007-09-07 00:19 发表评论
]]>
《Wicket开发指南一书》在JavaEye提供PDF版本下蝲http://www.aygfsteel.com/wl95421/archive/2006/11/28/83973.html猪儿½W¨ç¬¨çŒªå„¿½W¨ç¬¨Tue, 28 Nov 2006 02:03:00 GMThttp://www.aygfsteel.com/wl95421/archive/2006/11/28/83973.htmlhttp://www.aygfsteel.com/wl95421/comments/83973.htmlhttp://www.aygfsteel.com/wl95421/archive/2006/11/28/83973.html#Feedback7http://www.aygfsteel.com/wl95421/comments/commentRss/83973.htmlhttp://www.aygfsteel.com/wl95421/services/trackbacks/83973.html希望大家喜欢Wicket˜q™ä¸ªæ¡†æž¶!

因䨓BlogJava有文件大ž®çš„限制åQŒæœ€å¤?MåQŒæ‰€ä»¥åªå¥½å°†ä¹¦ç±æ”‘Öœ¨JavaEyeä¸?br />大家可以通过以下˜qžæŽ¥ä¸‹è²PDF版本
http://www.javaeye.com/topics/download/9acd675d-bebe-4e33-890f-af9f5f9ef8a2


猪儿½W¨ç¬¨ 2006-11-28 10:03 发表评论
]]>
《Wicket开发指南》一书的代码http://www.aygfsteel.com/wl95421/archive/2006/11/05/79250.html猪儿½W¨ç¬¨çŒªå„¿½W¨ç¬¨Sun, 05 Nov 2006 11:59:00 GMThttp://www.aygfsteel.com/wl95421/archive/2006/11/05/79250.htmlhttp://www.aygfsteel.com/wl95421/comments/79250.htmlhttp://www.aygfsteel.com/wl95421/archive/2006/11/05/79250.html#Feedback7http://www.aygfsteel.com/wl95421/comments/commentRss/79250.htmlhttp://www.aygfsteel.com/wl95421/services/trackbacks/79250.html
˜q™é‡Œæ˜¯ã€ŠWicket开发指南》一书的代码
已经整理完了
代码与书上基本一è‡ß_¼Œä¸»è¦åŒºåˆ«åœ¨äºŽPage¾l§æ‰¿è‡ªAbstractExamplePage而非WebPage。而且在每个Html™åµé¢ä¸Šå¤šäº†ä¸€ä¸ªmainNavigationåQŒä»¥æä¾›View Source功能。,方便查看源代码ã€?/p>

˜q™äº›æºä»£ç ä¸å†éœ€è¦é¢å¤–的付出åQŒä“Q何äh都可以下载,当作《Wicket开发指南》一书全文下载不方便的一些补偿吧ã€?/p>

下面是下载地址åQ?br />http://gocom.primeton.com/modules/newbb/titleflat_5087_41.htm



猪儿½W¨ç¬¨ 2006-11-05 19:59 发表评论
]]>
免费发布《Wicket开发指南》一书(266™åµï¼‰http://www.aygfsteel.com/wl95421/archive/2006/11/03/78879.html猪儿½W¨ç¬¨çŒªå„¿½W¨ç¬¨Fri, 03 Nov 2006 03:21:00 GMThttp://www.aygfsteel.com/wl95421/archive/2006/11/03/78879.htmlhttp://www.aygfsteel.com/wl95421/comments/78879.htmlhttp://www.aygfsteel.com/wl95421/archive/2006/11/03/78879.html#Feedback1http://www.aygfsteel.com/wl95421/comments/commentRss/78879.htmlhttp://www.aygfsteel.com/wl95421/services/trackbacks/78879.html最˜q‘完成了一本关于Wicket的书
感于自己得益于许多开源èÊYä»Óž¼Œä»¥åŠè®¸å¤šçš„免费书¾cï¼Œæ‰€ä»¥è¿™æœ¬ä¹¦ä¹Ÿå…è´¹å¼€æ”¾ã€?br />该书266™åµï¼Œ¾U?8万字ã€?br />现在全部发布在网上,大家可以免费‹¹è§ˆã€?br />我很喜欢Wicket˜q™ä¸ªæ¡†æž¶åQŒä¹Ÿå¸Œæœ›æœ‰è¶Šæ¥è¶Šå¤šçš„开发äh员ä‹É用这个框架ã€?br />
我把前两节放在下面作ä¸ÞZ»‹¾lã€?br />å› äØ“ä¹¦çš„å†…å®¹æ¯”è¾ƒå¤šï¼Œè€Œä¸”GoCom½{”应提供½Iºé—´å’Œè®ºå›ï¼Œæ‰€ä»¥æˆ‘也不好在˜q™é‡Œç›´æŽ¥ä¸Šä¼ åQŒè¯·è°…è§£åQŒè€Œä¸”GoCom也答应提供PDF版本下蝲åQŒæˆ‘也会在元旦前后更新此书,然后免费提供¾l™æ‰€æœ‰äh员ã€?br />
你可以在http://gocom.primeton.com/˜q™ä¸ªåœ°å€æŸ¥çœ‹è¯¥ä¹¦åQˆè°¢è°¢æ™®å…ƒçš„GoCom提供的空间和论坛åQ?br />åQˆæ„Ÿè§‰æœ‰ç‚¹åšòq¿å‘Šçš„嫌疑)

你也可以在这个论坛上提出问题åQŒæˆ‘会尽快回å¤?br />http://gocom.primeton.com/modules/newbb/viewforum41.htm

One World,One Dream�/p>

 

Wicket前生后世½‹?/font>  
Wicket是什ä¹?½Ž€å•点è¯ß_¼Œå®ƒå°±æ˜¯ä¸€ä¸ªåŸºäºŽJavaçš„Web开发框æžÓž¼Œä¸ŽStrutsåQŒWebWorkåQŒTapestry相类伹{€‚其特点在于对Html和代码进行了有效的分¼›»ï¼ˆæœ‰åˆ©äºŽç¨‹åºå‘˜å’Œç¾Žå·¥çš„合作åQ‰ï¼ŒåŸÞZºŽè§„则的配¾|?减少了XML½{‰é…¾|®æ–‡ä»¶çš„使用)åQŒå­¦ä¹ æ›²¾U¿è¾ƒä½Žï¼ˆå¼€å‘方式与C/Sç›æ€¼¼åQ‰ï¼Œæ›´åŠ æ˜“äºŽè°ƒè¯•åQˆé”™è¯¯ç±»åž‹æ¯”较少å®ÒŽ˜“åQŒè€Œä¸”å®ÒŽ˜“定位åQ‰ã€‚如果你不对微èÊYòq¶ä¸åæ„ŸåQŒå¯ä»¥æŠŠå®ƒçœ‹ä½œJavaòq›_°ä¸Šçš„ASP.NETã€?br /> Wicket现在是Sourceforge上一个非常活跃的™å¹ç›®åQŒå¼€å‘源码基于Apache协议åQˆä¹Ÿæ˜¯æœ€å®½æ¾åQŒå¯¹å•†ä¸šæœ€å‹å¥½çš„的源码协议åQ‰ï¼Œ™å¹ç›®ä½äºŽhttp://wicket.sourceforge.netåQŒå¦å¤–它˜q˜æœ‰ä¸€ä¸ªç‹¬ç«‹çš„域名¾|‘ç«™http://www.wicketframework.org/。最新的消息则是åQŒWicketå·²ç»æˆäØ“Apache孵化器中一个项目,可以通过http://incubator.apache.org/projects/wicket.html来访问。但SourceForge上的¾|‘站仍然可以讉K—®ã€?br /> Wicket出现æ—Óž¼Œè‘—名的J2EE¾|‘ç«™TSSåQˆå³http://www.TheServerSide.comåQŒä»¥åŽç®€¿U°TSSåQ‰ï¼Œå¯¹è¯¥™å¹ç›®ä¹Ÿè¿›è¡Œäº†è®¨è®ºåQŒæœ‰ä¸€ŒD‰|—·æ—¥æŒä¹…的论战åQˆåœ°å€åQ?a >http://www.theserverside.com/news/thread.tss?thread_id=28162:åQ‰ï¼Œè®ºæˆ˜ä¸ÕdŠ›å½“ç„¶ž®±æ˜¯Wicket的主要作者Jonathan Lockeå’ŒTapestry的作者Howard Lewis Ship åQŒäº‰è®ºçš„内容十分òq¿æ³›åQŒä»ŽURL的格式到¾pȝ»Ÿ¾l“æž„åQŒä»Žæ‰©å±•性到界面开发,如果有时间的话,我尽量将其中部分内容¾˜»è¯‘˜q‡æ¥åQŒè¿˜æ˜¯å¾ˆ¾_‘Ö½©çš„。(TSSä¸Šå¾ˆå¤šçš„è®¨è®ºéƒ½éžå¸¸ç²¾å½©ï¼Œå¦‚æžœè‹±æ–‡å¥½çš„è¯ï¼Œå»ø™®®¾lå¸¸ä¸ŠåŽ»çœ‹çœ‹åQŒå›½å¤–的牛ähž®±æ˜¯å¤šå•Šã€‚有时候我也觉得很奇怪,˜q™äº›äººéƒ½ä¸ç”¨ç¡è§‰çš„吗åQŒçœ‹ä»–们的帖子,完全覆盖äº?4ž®æ—¶åQŒæ„Ÿè§‰ä»–们的老板真是宽容啊)ã€?br /> Wicket的作者中有几个是原Sun公司Swingž®ç»„的开发äh员(现在可能大部分已¾lä¸æ˜¯äº†åQ‰ï¼Œå› æ­¤Wicket的框架中带有‹¹“厚的C/S色彩。而他们的开发计划中åQŒè¿˜åŒ…括了SwingåQŒFlashòq›_°çš„æ”¯æŒï¼Œä¹Ÿå°±æ˜¯è¯´ä½¿ç”¨Wicket不仅可以可以输出HtmlåQŒè€Œä¸”可以支持Swingå’ŒFlashåQŒä¸˜q‡å’Œæœ‹å‹¾lè¿‡è®¨è®ºåŽï¼Œè§‰å¾—˜q™ä¸ªè®¡åˆ’看è“v来有一点不切实际,毕竟HtmlåQŒSwingåQŒFlash之间的差别还是很大,恐怕想要无¾~ç§»æ¤ï¼Œ˜q˜æ˜¯æœ‰ç‚¹éš‘Öº¦çš„。单是一个JavaScriptåQŒææ€•就够头痛了ã€?br /> Wicket带有强烈C/S¾l“构的UI色彩åQŒè¿™ä¸€ç‚ÒŽœ‰åŠ©äºŽ¾ŸŽå·¥å’Œç¨‹åºäh员的分工åQŒä¸ŽDelphi的开发方式非常类ä¼û|¼ˆDelphi使用.frmæ–‡äšg保存UI控äšg的定义,而用.pasæ–‡äšg存储代码åQŒä»Žè€Œå¯¹æŽ§äšg˜q›è¡Œæ“ä½œåQ‰ã€‚Wicket则是使用Html描述UIåQŒåƈž®†å…·æœ‰ç‰¹ŒDŠæ ‡è®°çš„Html元素定义为UI控äšgåQŒåœ¨javaæ–‡äšg中则直接使用代码操作˜q™äº›UI控äšgåQŒæŽ§åˆ¶å…¶è¾“出及行为,样式½{‰ã€‚这一点和TapestryåQŒä»¥å?NETòq›_°ä¸Šçš„ASP.NETæžäØ“ç›æ€¼¼åQŒä¹Ÿæ€ªä¸å¾—与Tapestry的作者争è®ÞZº†˜q™ä¹ˆä¹…,毕竟两者的用户¾Ÿ¤æœ‰å¾ˆå¤šçš„重复。其实从¾l“构上看来,无论是TapestryåQŒASP.NetåQŒWicket估计都借鉴了Appletòq›_°ä¸Šçš„WebObjectsåQŒè¿˜æœ‰Delphi。(不要忘了åQŒDelphiçš„åˆ›å»ø™€…Anders Hejlsbergž®±æ˜¯.net框架的架构师åQŒæ‰€ä»¥C#å’ŒAsp.net怎么看都带着Delphi的媄子ã€?br /> Wicket目前最新的版本æ˜?.2.2版,已经支持了AJAXåQŒä½†æ„Ÿè§‰˜q™ä¸ªæ¡†æž¶çš„发展时间毕竟还是短了一点,ž®½ç®¡è®¾è®¡æ€æƒ³å¾ˆä¸é”™ï¼Œä½†è¿˜æ˜¯æœ‰è®¸å¤šé—®é¢˜å­˜åœ¨çš„,包括控äšg的数量,BUG较多½{‰ï¼Œå¸Œæœ›2006òq´å®ƒå¯ä»¥ž®½å¿«çš„æˆç†Ÿè“v来ã€?br /> 
关于重新发明轮子的争�/font>
 谈到WicketåQŒææ€•第一个感觉就是在Javaçš„Web开发中又多了一个轮子,˜q™ä¸€ç‚¹å›½å†…外的程序员好象都是一栗÷€?br /> 有一个国外的Blog专门写了一½‹‡å…³äºŽè½®å­çš„æ–‡ç« åQŒè¯´æ˜Žäº†é‡å¤å‘明轮子的必要性。我个äh对于˜q™ç§è½®å­æ˜¯æŒä¸€¿Uæ¬¢˜qŽçš„æ€åº¦åQŒå› ä¸ºæ²¡æœ‰äh会去写一ŒDµåŠŸèƒ½å®Œå…¨ä¸€æ ïLš„东东åQŒæ€ÀL˜¯è¦ä¿®æ­£äº†åŽŸæœ‰è½®å­çš„ä¸­‘»I¼Œ˜q™æ ·ž®×ƒ¸èƒ½ç®€å•当作一¿Ué‡å¤ã€?br /> 即ä‹É是功能重复,ž®×ƒ¸éœ€è¦è½®å­äº†å?JSP能完成Struts到所有功能,而Tapestry能做到的åQŒStruts也全部可以做刎ͼŒä½†StrutsåQŒTapestryž®×ƒ¸éœ€è¦äº†å?Strutsçš„MVC¾l“构比JSP更加优秀åQŒåœ¨å¾ˆå¤§½E‹åº¦ä¸Šå‡è½ÖMº†å¼€å‘äh员开发量åQŒè€ŒTapestryåŸÞZºŽ¾l„äšg的开发方式,则是开创了一¿Uæ–°çš„Web开发方式,对于多语­a€çš„æ”¯æŒä¹Ÿæœ‰äº†æ–°çš„æ–¹å¼ã€‚以往开发多语言™åµé¢æ—Óž¼Œå¾€å¾€ä½¿ç”¨properties保存字符串资源,但是™åµé¢é€šå¸¸éƒ½æ²¡æœ‰ä»€ä¹ˆå˜åŒ–。而Tapestry可以通过不同的Htmlä¸ÞZ¸åŒçš„国家指定不同的页面ã€?br /> Wicket吸收了Tapestry的一部分内容åQŒä½†æˆ‘最喜欢的就是,它是åŸÞZºŽè§„åˆ™çš„ï¼Œè€ŒåÆˆéžXML配置的方式,˜q™ä¸ä»…有利于½E‹åºå‘˜å­¦ä¹ ï¼Œå¯¹ç³»¾lŸçš„¾l´æŠ¤åŠå¼€å‘规范都很有效,毕竟XMLçš„ç¼–å†™åÆˆä¸è§å¾—å°±æ¯”å†™ä¸€ŒD늨‹åºæ¥å¾—æ›´å®ÒŽ˜“。(˜q™é‡Œæ’一句题外话åQŒæˆ‘觉得XMLæ–‡äšg用来表示数据和资源,而不是行为,更不是业务,所以对于XML我只用来存放多语­a€èµ„源或者用来做数据交换。象Spring˜q™ç§å¤§é‡ä½¿ç”¨XML方式åQŒæˆ‘òq¶ä¸‹Æ£èµåQŒSpring也意识到了这一点,åœ?.0版本中努力的½Ž€åŒ–Xml的配¾|®ï¼Œä½†æ˜¯òq¶ä¸ž®½å¦‚人意åQ‰ã€‚如果ä‹É用简单的规则来配¾|®æˆ–者管理一个系¾lŸï¼Œç”¨æˆ·ž®×ƒ¼šå¾ˆå®¹æ˜“的查找到自己需要的内容。而通过配置文äšgåQŒä¸½Ž¡è¿™æ ïLš„一个配¾|®æ–‡ä»¶çš„¾l“构如何好,也需要在其中查找自己需要的内容åQŒå¼€å‘效率肯定要低一些ã€?br /> 因此对于˜q™ç§æœ‰åˆ›æ–°æ€§çš„轮子åQŒå¤šå‡ ä¸ªåQŒæˆ–许Java世界可以跑得更快一些ã€?br /> åŽÕd¹´ž®±å¬è¯´ä¸ž®‘Web框架的开发äh员要联合èµäh¥å¼€ä¸€ä¸ªWeb框架åQŒåœ¨Yahoo上还有一个讨论组åQŒä¸ŠåŽÈœ‹äº†ä¸€ä¸‹ã€‚但是这个事件对我的½W¬ä¸€æ„Ÿè§‰ž®±æ˜¯æ™•,½W¬äºŒæ„Ÿè§‰ž®±æ˜¯ç‰¹åˆ«çš„æ™•åQŒè™½ç„¶ç›®å‰Java世界的Webæ¡†æž¶ä¸€é€šæØœæˆ˜ï¼Œä½†è¿™æ ·ä¸€ä¸ªè”ç›Ÿï¼Œæ‰€¾l™å‡ºçš„东西很可能是第二个EJBã€?/p>

猪儿½W¨ç¬¨ 2006-11-03 11:21 发表评论
]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º µÂ½­ÏØ| ÒÁ´¨ÏØ| °ÍÂí| ´óÐËÇø| µÂ»¯ÏØ| Ä˶«ÏØ| Ì©°²ÊÐ| ÑŰ²ÊÐ| IJ¶¨ÏØ| ¹²ºÍÏØ| ·½³ÇÏØ| ´ï×ÎÏØ| Óý¶ù| »¯Â¡| ÁéÊÙÏØ| ÌìË®ÊÐ| ÀúÊ·| °×ÀÊÏØ| Âé³ÇÊÐ| ¼¦Î÷ÊÐ| ºÓ±±Ê¡| ºÓÔ´ÊÐ| ÉÏÈÄÊÐ| ·ïɽÊÐ| ´ó×ãÏØ| ´ó¸ÛÇø| Á®½­ÊÐ| ɽÎ÷Ê¡| Í¨Î¼ÏØ| Ì«ºÍÏØ| ÕýÄþÏØ| ÊæÀ¼ÊÐ| ×ϽðÏØ| Î÷³ÇÇø| ÎýÁÖ¹ùÀÕÃË| ãë´¨ÏØ| °×ÀÊÏØ| ÓÀÈÊÏØ| ÁúÁêÏØ| ÔÀÑôÊÐ| »ñ¼ÎÏØ|