﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-猪儿笨笨的文档</title><link>http://www.blogjava.net/wl95421/</link><description>主要是个人的一些思考和技术文章，还有许多翻译的文档</description><language>zh-cn</language><lastBuildDate>Tue, 28 Apr 2026 18:58:47 GMT</lastBuildDate><pubDate>Tue, 28 Apr 2026 18:58:47 GMT</pubDate><ttl>60</ttl><item><title>Wicket1.3中Class热加载--揭秘篇</title><link>http://www.blogjava.net/wl95421/archive/2008/11/24/242234.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Mon, 24 Nov 2008 03:44:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2008/11/24/242234.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/242234.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2008/11/24/242234.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/242234.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/242234.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 文章《Wicket1.3中Class热加载--使用篇》的姐妹篇。<br>介绍Wicket1.3中如何实现类的热加载功能，从而在修改类（包括添加或者删除Field,Method）时，无须重新启动服务器，即可生效。&nbsp;&nbsp;<a href='http://www.blogjava.net/wl95421/archive/2008/11/24/242234.html'>阅读全文</a><img src ="http://www.blogjava.net/wl95421/aggbug/242234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2008-11-24 11:44 <a href="http://www.blogjava.net/wl95421/archive/2008/11/24/242234.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Wicket1.3中Class热加载--使用篇 </title><link>http://www.blogjava.net/wl95421/archive/2008/11/22/242038.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Sat, 22 Nov 2008 14:27:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2008/11/22/242038.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/242038.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2008/11/22/242038.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/242038.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/242038.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 介绍如何使用Wicket1.3的类热加载功能，从而在修改类（包括添加或者删除Field,Method）时，无须重新启动服务器，即可生效。从而提高Wicket开发效率。&nbsp;&nbsp;<a href='http://www.blogjava.net/wl95421/archive/2008/11/22/242038.html'>阅读全文</a><img src ="http://www.blogjava.net/wl95421/aggbug/242038.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2008-11-22 22:27 <a href="http://www.blogjava.net/wl95421/archive/2008/11/22/242038.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>数据库建模软件Aquarius Orm Studio发布正式版本</title><link>http://www.blogjava.net/wl95421/archive/2008/07/04/212636.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Fri, 04 Jul 2008 08:20:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2008/07/04/212636.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/212636.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2008/07/04/212636.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/212636.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/212636.html</trackback:ping><description><![CDATA[<p>Aquarius Orm Studio发布正式0.1版本，可以通过下面地址访问 <br />
<a href="http://orm.aquatool.org/nl/zh/CN/index.html">http://orm.aquatool.org/nl/zh/CN/index.html<br />
</a><br />
下面是它的基本功能介绍 <br />
</p>
<ul>
    <li>数据库正向建模（支持数据表，存储过程，视图），并生成相关DDL
    <li>数据库反向工程，支持从数据库导入数据表，存储过程，视图等数据库元素
    <li>支持多数据平台，包括Oracle,DB2,MySql,MsSql(支持2005),Sybase,PostgreSql等
    <li>生成测试数据，可以根据数据库模型生成测试数据，方便进行单元测试。
    <li>生成相应ORM代码及配置文件，支持Hibernate3,OJB,IBatis及OpenJPA
    <li>支持多国语言，包括中文（简体，台湾繁体，香港繁体），英文，日文（谢谢Judy.Chang的日文翻译）
    <li>支持生成Html格式的文档，用来方便管理和归类
    <li>支持使用Velocity模板生成多种类型的文件 </li>
</ul>
<br />
<br />
它支持Eclipse3.2,Eclipse3.3,Eclipse3.4 <br />
在网站可以下相应的All-In-One版本（包含WTP），也可以下载相应的RCP版本或者是相应插件安装包 <br />
还可以通过 <a href="http://orm.aquatool.org/nl/download/update" target="_blank">http://orm.aquatool.org/nl/download/update</a> 在级升级 <br />
<br />
源代码正在申请Google的代码库，将于近期放出。 <br />
开源协议我还在考虑中，但个人使用肯定是永远免费。 <br />
<br />
如果有问题，可以发站内消息或者直接发Email到wl_95421@yahoo.com.cn与我联系 <br />
<br />
<img height="583" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableIndex.png" width="729" border="0" /><br />
<img height="583" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableIndex.png" width="729" border="0" /><br />
<img height="768" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode1.png" width="1024" border="0" /><br />
<img height="507" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode2.png" width="523" border="0" /><br />
<img height="768" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateDdl.png" width="1024" border="0" /><br />
<br />
<img height="768" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/openEditor.png" width="1024" border="0" /><br />
<img height="611" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/runDdl.png" width="516" border="0" /><br />
<img src ="http://www.blogjava.net/wl95421/aggbug/212636.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2008-07-04 16:20 <a href="http://www.blogjava.net/wl95421/archive/2008/07/04/212636.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>发布基于Eclipse的数据库建模及ORM框架代码自动生成插件的RC2版，支持配置文件的模板</title><link>http://www.blogjava.net/wl95421/archive/2007/11/02/157774.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Fri, 02 Nov 2007 08:17:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2007/11/02/157774.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/157774.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2007/11/02/157774.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/157774.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/157774.html</trackback:ping><description><![CDATA[<p>根据大家的意见，对工具进行了一些修正，添加了以下几个主要的功能<br />
</p>
<ol>
    <li>数据表自关联
    <li>支持配置文件使用模板（模板为Velocity）
    <li>提供了RCP版本
    <li>支持Eclipse3.3
    <li>更新了帮助文档
    <li>支持图片输出
    <li>在Eclipse3.3中支持PNG输出格式 </li>
</ol>
<p>&nbsp;</p>
<p>我自己已经申请了一个域名，主机在国外，并逐步将自己的开源产品及相应的书放到上面，SVN的建立还在研究中。<br />
大家可以通过<font face="Arial"><a href="http://orm.aquatool.org/nl/zh/CN/" _fcksavedurl="http://orm.aquatool.org/nl/zh/CN/">http://orm.aquatool.org/nl/zh/CN/</a></font>来访问这个地址，上面有在线文档，不需要下载软件即可了解软件。<br />
有兴趣的朋友，可以通过下载RCP版本来试用，晚一点我会建立论坛及MailList，希望大家可以提供更多的意见。<br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableColumn.png" border="0" /><br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableIndex.png" border="0" /><br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode1.png" border="0" /></p>
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/openEditor.png" border="0" /><br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateDdl.png" border="0" /><br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode2.png" border="0" />
<img src ="http://www.blogjava.net/wl95421/aggbug/157774.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2007-11-02 16:17 <a href="http://www.blogjava.net/wl95421/archive/2007/11/02/157774.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>发布基于Eclipse的数据库建模及ORM框架代码自动生成插件（支持Hibernate,Ojb,IBatis等）</title><link>http://www.blogjava.net/wl95421/archive/2007/09/07/143351.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Fri, 07 Sep 2007 03:30:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2007/09/07/143351.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/143351.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2007/09/07/143351.html#Feedback</comments><slash:comments>42</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/143351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/143351.html</trackback:ping><description><![CDATA[<a title="下载地址" style="font-size: 24pt" href="http://orm.aquatool.org/nl/zh/CN/">下载地址</a><br />
<br />
<span style="color: red">（重要提示:如果安装不成功，尝试将feature文件夹删掉）<br />
</span><br />
<p>文件比较大，大概有近20M，使用Zip压缩。</p>
<p>现在发布的是Beta版，SourceForge上面的空间正在申请。<br />
发布的版本，支持Eclipse3.2和Eclipse3.3，需要GEF插件，可以在1.4及1.5下运行（我只测试了Sun JDK1.4和JDK1.5的三个版本，并不保证所有的JDK都能运行）。<br />
RCP版本正整理中，国庆前发布。<br />
如果有问题，请留言</p>
<p>以下是工具的介绍</p>
<p>Aquarius ORM Studio介绍<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp; 从事软件开发多年，感觉数据库在整个软件开发过程中扮演一个不可或缺的角色。一旦一个业务项目进入立项阶段，需要支持哪些数据库平台，如何使用该种数据库平台都将成为架构师需要考虑的内容，对于一般的开发人员，则可能根据需要建立各种数据表，还可能需要通过反向工程来了解现有数据库的架构，随着ORM工具的流行，程序员还需要将数据表映射到类上，并保证两者间的同步，过去几年从事相应工作的经验告诉我，这既不是一个轻松的事情，更不是一件令人感觉愉快的事情。同时市场上有大量优秀的数据库工具，从建模到分析，还有ORM，但可惜的是，大部分优秀的工具都不是免费的，就像最有名的PowerDesigner，其价格令我咋舌。象 PowerDesigner这么强大的工具，我只能用到其中一部分功能，却要付出所有的价格，而且功能却没有满足的我的需要。<br />
&nbsp;&nbsp;&nbsp; 所以我萌生了根据自己的需求来开发一个数据库 工具的想法，并在接下来的两年中付诸实施。这个工具我称为Aquarius Orm Studio，Aquarius是水瓶座，我的星座，ORM是指这个工具的一个重要功能，Studio是个流行词。<br />
&nbsp;&nbsp;&nbsp; 这个工具可以完成以下功能:<br />
数据库正向建模（支持数据表，存储过程，视图），并生成相关DDL <br />
数据库反向工程，支持从数据库导入数据表，存储过程，视图等数据库元素 <br />
支持多数据平台，包括Oracle,DB2,MySql,MsSql,Sybase,PostgreSql等 <br />
生成测试数据，可以根据数据库模型生成测试数据，方便进行单元测试。 <br />
生成相应ORM代码及配置文件，支持Hibernate3,OJB,IBatis及OpenJPA <br />
支持多国语言，包括中文（简体，台湾繁体，香港繁体），英文，日文（谢谢Judy.Chang的日文翻译）<br />
<img height="583" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableColumn.png" width="729" border="0" /><img height="583" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/editTableIndex.png" width="729" border="0" /><img height="768" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode1.png" width="1024" border="0" /></p>
<img height="611" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/runDdl.png" width="516" border="0" /> <img src ="http://www.blogjava.net/wl95421/aggbug/143351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2007-09-07 11:30 <a href="http://www.blogjava.net/wl95421/archive/2007/09/07/143351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>发布自己的一个Eclipse小工具插件，并为自己的数据库建模插件作个预告 </title><link>http://www.blogjava.net/wl95421/archive/2007/09/07/143297.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Thu, 06 Sep 2007 16:19:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2007/09/07/143297.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/143297.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2007/09/07/143297.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/143297.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/143297.html</trackback:ping><description><![CDATA[<p>我的主要工作是做Eclipse插件开发<br />
在开发中，遇到一些问题，比较麻烦，象转换文件编码，或者替换文件内容（Eclipse的虽然支持正则式，但只能替换成单行字符串，不爽）<br />
所以自己开发一个小插件，放出来，方便大家，支持以下功能:<br />
1、将指定的多个文件，进行编码转换，如GBK-&gt;UTF-8（因为我做插件开发的时候，默认是GBK，现在要发布源码，国外的开发人员，就有问题，所以做了这个插件）<br />
2、对指定的多个文件，进行替换，支持多行文本和正则式<br />
3、将指定的多个文件，恢复到最近一个版本。<br />
</p>
<p><br />
<a title="下载地址" href="http://pickup.mofile.com/8436332414023241">下载地址</a><br />
<br />
另外做个预告:<br />
本周内将发布我的一个Eclipse数据库插件（约100K行代码），支持以下功能:<br />
1、数据库正向建模（支持数据表，存储过程，视图），并生成相关DDL <br />
2、数据库反向工程，支持从数据库导入数据表，存储过程，视图等数据库元素 <br />
3、多数据平台，包括Oracle,DB2,MySql,MsSql,Sybase,PostgreSql等 <br />
4、生成测试数据，可以根据数据库模型生成测试数据，方便进行单元测试。 <br />
5、生成相应ORM代码及配置文件，支持Hibernate3,OJB,IBatis及OpenJPA <br />
<br />
<img height="768" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode1.png" width="1024" border="0" /><br />
<br />
<img height="507" alt="" src="http://www.blogjava.net/images/blogjava_net/wl95421/generateCode2.png" width="523" border="0" /><br />
<br />
<br />
以下是为IBatis生成的XML:<br />
<br />
&lt;!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"&nbsp;&nbsp;&nbsp; "http://ibatis.apache.org/dtd/sql-map-2.dtd"&gt;<br />
&lt;sqlMap&gt;<br />
&nbsp;&lt;sql id="selectUserWhere"&gt;<br />
&nbsp;&nbsp;&lt;dynamic prepend="where"&gt;<br />
&nbsp;&nbsp;&nbsp;..这里省略部分内容<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;/isPropertyAvailable&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;isPropertyAvailable prepend="or" property="user_Or_NotNull_State"&gt;&lt;![CDATA[STATE_C is not null]]&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/isPropertyAvailable&gt;<br />
&nbsp;&nbsp;&lt;/dynamic&gt;<br />
&nbsp;&lt;/sql&gt;<br />
&nbsp;&lt;delete id="deleteUser" parameterClass="String"&gt;&lt;![CDATA[<br />
&nbsp;Delete From demo.user_t<br />
&nbsp;Where USER_ID=#userId# <br />
]]&gt;<br />
&nbsp;&lt;/delete&gt;<br />
&nbsp;&lt;select id="getUserRolesByUser" parameterClass="String" resultMap="userRoleResult"&gt;&lt;![CDATA[<br />
&nbsp;Select&nbsp; USER_ID, ROLE_ID from demo.user_role_t <br />
&nbsp;<br />
&nbsp;Where USER_ID=#userId#<br />
]]&gt;<br />
&nbsp;&lt;/select&gt;<br />
&nbsp;&lt;select id="doCountUser" parameterClass="java.util.Map" resultClass="int"&gt;&lt;![CDATA[<br />
&nbsp;Select count(*) From demo.user_t<br />
&nbsp;$Where$ $condition$]]&gt;<br />
&nbsp;&lt;/select&gt;<br />
&nbsp;&lt;update id="updateUser" parameterClass="user"&gt;&lt;![CDATA[<br />
&nbsp;Update demo.user_t SET&nbsp; USER_ID=#userId# ,&nbsp; USER_NAME=#userName# ,&nbsp; PASSWORD=#password# ,&nbsp; VALID_FROM=#validFrom# ,&nbsp; VALID_TO=#validTo# ,&nbsp; TITLE=#title# ,&nbsp; DESCRIPTION=#description# ,&nbsp; DOMAIN_C=#domain# ,&nbsp; GROUP_C=#group# ,&nbsp; ORDER_C=#order# ,&nbsp; STATE_C=#state# Where USER_ID=#userId# <br />
]]&gt;<br />
&nbsp;&lt;/update&gt;<br />
&nbsp;&lt;insert id="insertUser" parameterClass="user"&gt;&lt;![CDATA[<br />
&nbsp;Insert Into demo.user_t(USER_ID , USER_NAME , PASSWORD , VALID_FROM , VALID_TO , TITLE , DESCRIPTION , DOMAIN_C , GROUP_C , ORDER_C , STATE_C) <br />
&nbsp;Values(#userId# , #userName# , #password# , #validFrom# , #validTo# , #title# , #description# , #domain# , #group# , #order# , #state#) <br />
]]&gt;<br />
&nbsp;&lt;/insert&gt;<br />
&nbsp;&lt;select id="doSelectUser" parameterClass="java.util.Map" resultMap="userResult"&gt;&lt;![CDATA[<br />
&nbsp;Select&nbsp; USER_ID, USER_NAME, PASSWORD, VALID_FROM, VALID_TO, TITLE, DESCRIPTION, DOMAIN_C, GROUP_C, ORDER_C, STATE_C from demo.user_t <br />
&nbsp;<br />
&nbsp;$Where$ $condition$]]&gt;<br />
&nbsp;&lt;/select&gt;<br />
&nbsp;&lt;select id="selectUser" parameterClass="java.util.Map" resultMap="userResult"&gt;&lt;![CDATA[<br />
&nbsp;Select&nbsp; USER_ID, USER_NAME, PASSWORD, VALID_FROM, VALID_TO, TITLE, DESCRIPTION, DOMAIN_C, GROUP_C, ORDER_C, STATE_C from demo.user_t <br />
&nbsp;<br />
]]&gt;<br />
&nbsp;&nbsp;&lt;include refid="selectUserWhere"/&gt;<br />
&nbsp;&lt;/select&gt;<br />
&nbsp;&lt;select id="selectUserByID" parameterClass="String" resultMap="userResult"&gt;&lt;![CDATA[<br />
&nbsp;Select&nbsp; USER_ID, USER_NAME, PASSWORD, VALID_FROM, VALID_TO, TITLE, DESCRIPTION, DOMAIN_C, GROUP_C, ORDER_C, STATE_C from demo.user_t <br />
&nbsp;Where USER_ID=#userId# <br />
]]&gt;<br />
&nbsp;&lt;/select&gt;<br />
&nbsp;&lt;select id="doDeleteUser" parameterClass="java.util.Map"&gt;&lt;![CDATA[<br />
&nbsp;Delete From demo.user_t<br />
&nbsp;$Where$ $condition$]]&gt;<br />
&nbsp;&lt;/select&gt;<br />
&nbsp;&lt;delete id="deleteUserByID" parameterClass="String"&gt;&lt;![CDATA[<br />
&nbsp;Delete From demo.user_t<br />
]]&gt;<br />
&nbsp;&nbsp;&lt;include refid="selectUserWhere"/&gt;<br />
&nbsp;&lt;/delete&gt;<br />
&lt;/sqlMap&gt;</p>
<img src ="http://www.blogjava.net/wl95421/aggbug/143297.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2007-09-07 00:19 <a href="http://www.blogjava.net/wl95421/archive/2007/09/07/143297.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Wicket开发指南一书》在JavaEye提供PDF版本下载</title><link>http://www.blogjava.net/wl95421/archive/2006/11/28/83973.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Tue, 28 Nov 2006 02:03:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2006/11/28/83973.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/83973.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2006/11/28/83973.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/83973.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/83973.html</trackback:ping><description><![CDATA[经过一月的时间，在一些朋友的热心帮助下，修正了一些问题，现在发布正式的版本!<br />希望大家喜欢Wicket这个框架!<br /><br />因为BlogJava有文件大小的限制，最大2M，所以只好将书籍放在JavaEye上<br />大家可以通过以下连接下载PDF版本<a href="http://www.javaeye.com/topics/download/9acd675d-bebe-4e33-890f-af9f5f9ef8a2"><br />http://www.javaeye.com/topics/download/9acd675d-bebe-4e33-890f-af9f5f9ef8a2</a><img src ="http://www.blogjava.net/wl95421/aggbug/83973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2006-11-28 10:03 <a href="http://www.blogjava.net/wl95421/archive/2006/11/28/83973.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《Wicket开发指南》一书的代码</title><link>http://www.blogjava.net/wl95421/archive/2006/11/05/79250.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Sun, 05 Nov 2006 11:59:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2006/11/05/79250.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/79250.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2006/11/05/79250.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/79250.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/79250.html</trackback:ping><description><![CDATA[
		<p>
				<br />这里是《Wicket开发指南》一书的代码<br />已经整理完了<br />代码与书上基本一致，主要区别在于Page继承自AbstractExamplePage而非WebPage。而且在每个Html页面上多了一个mainNavigation，以提供View Source功能。，方便查看源代码。</p>
		<p>这些源代码不再需要额外的付出，任何人都可以下载，当作《Wicket开发指南》一书全文下载不方便的一些补偿吧。</p>
		<p>下面是下载地址：<br /><a href="http://gocom.primeton.com/modules/newbb/titleflat_5087_41.htm">http://gocom.primeton.com/modules/newbb/titleflat_5087_41.htm</a></p>
<img src ="http://www.blogjava.net/wl95421/aggbug/79250.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2006-11-05 19:59 <a href="http://www.blogjava.net/wl95421/archive/2006/11/05/79250.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>免费发布《Wicket开发指南》一书（266页）</title><link>http://www.blogjava.net/wl95421/archive/2006/11/03/78879.html</link><dc:creator>猪儿笨笨</dc:creator><author>猪儿笨笨</author><pubDate>Fri, 03 Nov 2006 03:21:00 GMT</pubDate><guid>http://www.blogjava.net/wl95421/archive/2006/11/03/78879.html</guid><wfw:comment>http://www.blogjava.net/wl95421/comments/78879.html</wfw:comment><comments>http://www.blogjava.net/wl95421/archive/2006/11/03/78879.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/wl95421/comments/commentRss/78879.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wl95421/services/trackbacks/78879.html</trackback:ping><description><![CDATA[
		<p>最近完成了一本关于Wicket的书<br />感于自己得益于许多开源软件，以及许多的免费书籍，所以这本书也免费开放。<br />该书266页，约18万字。<br />现在全部发布在网上，大家可以免费浏览。<br />我很喜欢Wicket这个框架，也希望有越来越多的开发人员使用这个框架。<br /><br />我把前两节放在下面作为介绍。<br />因为书的内容比较多，而且GoCom答应提供空间和论坛，所以我也不好在这里直接上传，请谅解，而且GoCom也答应提供PDF版本下载，我也会在元旦前后更新此书，然后免费提供给所有人员。<br /><br />你可以在<a href="http://gocom.primeton.com/">http://gocom.primeton.com/</a>这个地址查看该书（谢谢普元的GoCom提供的空间和论坛）<br />（感觉有点做广告的嫌疑）</p>
		<p>你也可以在这个论坛上提出问题，我会尽快回复<br /><a href="http://gocom.primeton.com/modules/newbb/viewforum41.htm">http://gocom.primeton.com/modules/newbb/viewforum41.htm</a></p>
		<p>One World,One Dream。</p>
		<p> </p>
		<p>
				<strong>
						<font size="4">Wicket前生后世篇</font>
				</strong> <br />Wicket是什么?简单点说，它就是一个基于Java的Web开发框架，与Struts，WebWork，Tapestry相类似。其特点在于对Html和代码进行了有效的分离（有利于程序员和美工的合作），基于规则的配置(减少了XML等配置文件的使用)，学习曲线较低（开发方式与C/S相似），更加易于调试（错误类型比较少容易，而且容易定位）。如果你不对微软并不反感，可以把它看作Java平台上的ASP.NET。<br /> Wicket现在是Sourceforge上一个非常活跃的项目，开发源码基于Apache协议（也是最宽松，对商业最友好的的源码协议），项目位于<a href="http://wicket.sourceforge.net">http://wicket.sourceforge.net</a>，另外它还有一个独立的域名网站<a href="http://www.wicketframework.org/">http://www.wicketframework.org/</a>。最新的消息则是，Wicket已经成为Apache孵化器中一个项目，可以通过<a href="http://incubator.apache.org/projects/wicket.html">http://incubator.apache.org/projects/wicket.html</a>来访问。但SourceForge上的网站仍然可以访问。<br /> Wicket出现时，著名的J2EE网站TSS（即<a href="http://www.TheServerSide.com">http://www.TheServerSide.com</a>，以后简称TSS），对该项目也进行了讨论，有一段旷日持久的论战（地址：<a href="http://www.theserverside.com/news/thread.tss?thread_id=28162">http://www.theserverside.com/news/thread.tss?thread_id=28162</a>:），论战主力当然就是Wicket的主要作者Jonathan Locke和Tapestry的作者Howard Lewis Ship ，争论的内容十分广泛，从URL的格式到系统结构，从扩展性到界面开发，如果有时间的话，我尽量将其中部分内容翻译过来，还是很精彩的。（TSS上很多的讨论都非常精彩，如果英文好的话，建议经常上去看看，国外的牛人就是多啊。有时候我也觉得很奇怪，这些人都不用睡觉的吗，看他们的帖子，完全覆盖了24小时，感觉他们的老板真是宽容啊）。<br /> Wicket的作者中有几个是原Sun公司Swing小组的开发人员（现在可能大部分已经不是了），因此Wicket的框架中带有浓厚的C/S色彩。而他们的开发计划中，还包括了Swing，Flash平台的支持，也就是说使用Wicket不仅可以可以输出Html，而且可以支持Swing和Flash，不过和朋友经过讨论后，觉得这个计划看起来有一点不切实际，毕竟Html，Swing，Flash之间的差别还是很大，恐怕想要无缝移植，还是有点难度的。单是一个JavaScript，恐怕就够头痛了。<br /> Wicket带有强烈C/S结构的UI色彩，这一点有助于美工和程序人员的分工，与Delphi的开发方式非常类似（Delphi使用.frm文件保存UI控件的定义，而用.pas文件存储代码，从而对控件进行操作）。Wicket则是使用Html描述UI，并将具有特殊标记的Html元素定义为UI控件，在java文件中则直接使用代码操作这些UI控件，控制其输出及行为，样式等。这一点和Tapestry，以及.NET平台上的ASP.NET极为相似，也怪不得与Tapestry的作者争论了这么久，毕竟两者的用户群有很多的重复。其实从结构上看来，无论是Tapestry，ASP.Net，Wicket估计都借鉴了Applet平台上的WebObjects，还有Delphi。（不要忘了，Delphi的创建者Anders Hejlsberg就是.net框架的架构师，所以C#和Asp.net怎么看都带着Delphi的影子。<br /> Wicket目前最新的版本是1.2.2版，已经支持了AJAX，但感觉这个框架的发展时间毕竟还是短了一点，尽管设计思想很不错，但还是有许多问题存在的，包括控件的数量，BUG较多等，希望2006年它可以尽快的成熟起来。<br /> <br /><strong><font size="4">关于重新发明轮子的争论</font></strong><br /> 谈到Wicket，恐怕第一个感觉就是在Java的Web开发中又多了一个轮子，这一点国内外的程序员好象都是一样。<br /> 有一个国外的Blog专门写了一篇关于轮子的文章，说明了重复发明轮子的必要性。我个人对于这种轮子是持一种欢迎的态度，因为没有人会去写一段功能完全一样的东东，总是要修正了原有轮子的不足，这样就不能简单当作一种重复。<br /> 即使是功能重复，就不需要轮子了吗?JSP能完成Struts到所有功能，而Tapestry能做到的，Struts也全部可以做到，但Struts，Tapestry就不需要了吗?Struts的MVC结构比JSP更加优秀，在很大程度上减轻了开发人员开发量，而Tapestry基于组件的开发方式，则是开创了一种新的Web开发方式，对于多语言的支持也有了新的方式。以往开发多语言页面时，往往使用properties保存字符串资源，但是页面通常都没有什么变化。而Tapestry可以通过不同的Html为不同的国家指定不同的页面。<br /> Wicket吸收了Tapestry的一部分内容，但我最喜欢的就是，它是基于规则的，而并非XML配置的方式，这不仅有利于程序员学习，对系统的维护及开发规范都很有效，毕竟XML的编写并不见得就比写一段程序来得更容易。（这里插一句题外话，我觉得XML文件用来表示数据和资源，而不是行为，更不是业务，所以对于XML我只用来存放多语言资源或者用来做数据交换。象Spring这种大量使用XML方式，我并不欣赏，Spring也意识到了这一点，在2.0版本中努力的简化Xml的配置，但是并不尽如人意）。如果使用简单的规则来配置或者管理一个系统，用户就会很容易的查找到自己需要的内容。而通过配置文件，不管这样的一个配置文件的结构如何好，也需要在其中查找自己需要的内容，开发效率肯定要低一些。<br /> 因此对于这种有创新性的轮子，多几个，或许Java世界可以跑得更快一些。<br /> 去年就听说不少Web框架的开发人员要联合起来开一个Web框架，在Yahoo上还有一个讨论组，上去看了一下。但是这个事件对我的第一感觉就是晕，第二感觉就是特别的晕，虽然目前Java世界的Web框架一通混战，但这样一个联盟，所给出的东西很可能是第二个EJB。</p>
<img src ="http://www.blogjava.net/wl95421/aggbug/78879.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wl95421/" target="_blank">猪儿笨笨</a> 2006-11-03 11:21 <a href="http://www.blogjava.net/wl95421/archive/2006/11/03/78879.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>