﻿<?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-huliqing</title><link>http://www.blogjava.net/huliqing/</link><description>沉淀...</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 04:08:12 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 04:08:12 GMT</pubDate><ttl>60</ttl><item><title>3D游戏中角色的换装原理-落樱之剑实例图文详细剖析(JME3,JMonkeyEngine游戏开发)</title><link>http://www.blogjava.net/huliqing/archive/2016/04/03/429952.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sun, 03 Apr 2016 12:36:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2016/04/03/429952.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/429952.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2016/04/03/429952.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/429952.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/429952.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在整个讲解过程中需要以下一些东西来进行说明,我们将通过各种工具一步一步来完成以下物件，并最终使用这些物件在游戏中演示如何进行换装。<br><br>一个标准的人物骨骼 - 用于控制角色基本身形、装备以及角色动画<br>一套基本身形 - 用于模拟人物角色的皮肤,即脱光装备后的样子，这里以内衣装示例，后面我称为“身形”或“身体”<br>一套角色装备 - 用于换装示例,后面我统称为“装备”<br><br>注：角色基本身形和装备的本质是一样的，切换原理也是一样的, 这里先区分开来，以方便后面进行说明。由于文章的重点是讲解“换装”原理，以及换装过程中可能遇到的重要问题，所以繁琐的"建模"过程我可能会简单略过。&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2016/04/03/429952.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/429952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2016-04-03 20:36 <a href="http://www.blogjava.net/huliqing/archive/2016/04/03/429952.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android3D游戏开发，落樱3D - v1.0</title><link>http://www.blogjava.net/huliqing/archive/2015/03/24/423797.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Tue, 24 Mar 2015 10:27:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2015/03/24/423797.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/423797.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2015/03/24/423797.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/423797.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/423797.html</trackback:ping><description><![CDATA[<div>嘛，本来是小版本更新的，但是写着写着停不下来了，代码越写越多，也重构了不少， 虽然表面上还是比较简单，但是内部工作量非常多，也过了不少时间，所以就把版本号改为1.0了 ：）<br /><br />本来一开始打算开发格斗游戏的，但是感觉调动作和调平衡非常麻烦，然后决定还是先从RPG和塔防开始...<br /><br />这个版本增加了新的地图，增加了NPC、增加了防御塔，现在开始可以玩塔防游戏：），简单的财宝猎人任务，轻松体验塔防的乐趣，任务内可自由升级、有物品掉落、还可召唤小宠物，丛林冒险只是弟弟偶然提的建议，本来没有怎么在意，没想到开发着开发着就朝着这个方向了...<br /><br />---- 新版本 ----<br /><div>&nbsp;- 增加了新场景、新怪物角色</div><div>&nbsp;- 增加了新任务 - 自由塔防游戏</div><div>&nbsp;- 增加了升级功能</div><div>&nbsp;- 增加了一些游戏物品，补血、补蓝、召唤怪物、防御塔等</div><div>&nbsp;- UI调整，统一了UI样式，新的UI现在可自由拖动</div><div>&nbsp;- 角色面板现在可显示技能列表，杂物列表，装备列表现在可识别和删除</div><div>&nbsp;- 修复了一些BUG及性能问题</div><br />游戏使用 JMonkeyEngine 3.0开发， 一个不错的java开源3D引擎,官网： http://jmonkeyengine.org/ 感觉该引擎发展得越来越好了！<br />顺便推荐一个开源的资源网址，有相当多的开源资源可用： http://opengameart.org/<br /><br /><img src="http://www.huliqing.name/photo/photoId=33" width="800" height="500" alt="" /><br /><br /><img src="http://www.huliqing.name/photo/photoId=37" alt="" /><br /><br /><img src="http://www.huliqing.name/photo/photoId=38" alt="" /><br /><br /><span style="font-size: 18pt;"><a href="http://www.huliqing.name/page/pageId=109">Android版下载地址<br /><br /></a><a href="http://app.huliqing.name/ly3d/launch.html">Webstart版体验地址</a><a href="http://www.huliqing.name/page/pageId=109" title="Android版下载地址" target="_blank"><br /><br /></a></span></div><img src ="http://www.blogjava.net/huliqing/aggbug/423797.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2015-03-24 18:27 <a href="http://www.blogjava.net/huliqing/archive/2015/03/24/423797.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android3D美少女格斗游戏－落樱3D v0.5</title><link>http://www.blogjava.net/huliqing/archive/2014/12/13/421376.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sat, 13 Dec 2014 10:10:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2014/12/13/421376.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/421376.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2014/12/13/421376.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/421376.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/421376.html</trackback:ping><description><![CDATA[<div>v0.5版本增加了<br />如下功能。</div><div>&nbsp;</div><div>-新增了几套装备，NPC随机掉落</div><div>-增加了装备界面和换装功能</div><div>-增加了护甲防御防属性</div><div>-增加NPC中文化命名</div><div>-改进了游戏提示面板</div><div>-修复了部分UI问题</div><div>-修复了部分情况下NPC刷新问题</div><div>-模型调整和性能优化</div><div>-其它调整，Logo调整、增加了暂停处理、整理并优化了安装包大小、UI和字体自适应分辨率。</div><div></div><div>下载地址：<a href="http://pan.baidu.com/s/1nt7KQ3B">落樱3D－v0.5<br /><br /><img src="http://www.huliqing.name/photo/photoId=27" width="800" height="500" alt="" /><br /><br /><img src="http://www.huliqing.name/photo/photoId=29" width="800" height="500" alt="" /><br /></a></div><img src ="http://www.blogjava.net/huliqing/aggbug/421376.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2014-12-13 18:10 <a href="http://www.blogjava.net/huliqing/archive/2014/12/13/421376.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android3D游戏开发 － 落樱3D - v0.4</title><link>http://www.blogjava.net/huliqing/archive/2014/11/23/420473.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sun, 23 Nov 2014 09:01:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2014/11/23/420473.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/420473.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2014/11/23/420473.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/420473.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/420473.html</trackback:ping><description><![CDATA[<div>&nbsp;Android平台的休闲动作游戏。<br /><br />==== v0.4升级和改进<br />&nbsp;- 中文化</div>
<div>&nbsp;- 增加人物属性面板，可显示角色防御机率，躲闪概率，防御力，攻击力，魔法值等</div>
<div>&nbsp;- 简化操作，人物调整为自动攻击,防御和躲闪由人物的属性值计算后自动执行</div>
<div>&nbsp;- 增加打击效果，打击后可看到伤害数字</div>
<div>&nbsp;- 增加蓝条和魔法技能：火球术</div>
<div>&nbsp;- 增加水晶物品，随机刷（可补血，补魔）</div>
<div>&nbsp;- 模式改为：练习模式和生存模式,增加统计结果</div>
<div>&nbsp;- 在线直接更新功能<br />
<br />
<img src="http://www.huliqing.name/photo/photoId=26" width="577" alt="落樱3D－screenshot" style="border: 0px; margin: 0px; padding: 0px;" /><br /><br />
<div>下载地址：<a href="http://pan.baidu.com/s/1nt7KQ3B" target="_blank" style="color: #bd9139; text-decoration: none;">http://pan.baidu.com/s/1nt7KQ3B<br /></a></div>
</div><img src ="http://www.blogjava.net/huliqing/aggbug/420473.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2014-11-23 17:01 <a href="http://www.blogjava.net/huliqing/archive/2014/11/23/420473.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Android3D游戏开发 － 落樱3D</title><link>http://www.blogjava.net/huliqing/archive/2014/11/07/418761.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Fri, 07 Nov 2014 10:18:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2014/11/07/418761.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/418761.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2014/11/07/418761.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/418761.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/418761.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 打算以后开发安卓软件和3D游戏，不管是业余还是专职，希望有钱途才好！<br><br>这是最近开发的安卓3D游戏 － 我起名为"落樱3D"，说真的，给软件起名字的时候总是&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2014/11/07/418761.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/418761.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2014-11-07 18:18 <a href="http://www.blogjava.net/huliqing/archive/2014/11/07/418761.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.lang.OutOfMemoryError - 关于java的内存溢出</title><link>http://www.blogjava.net/huliqing/archive/2013/08/10/402665.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sat, 10 Aug 2013 15:43:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2013/08/10/402665.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/402665.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2013/08/10/402665.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/402665.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/402665.html</trackback:ping><description><![CDATA[<div><strong>java.lang.OutOfMemoryError: PermGen space</strong></div>
<div>PermGen space的全称是Permanent Generation space</div>
<div>是指内存的永久保存区域, 该区域被JVM用来存放Class和Meta信息, 该区域默认大小约是4M,并且JVM圾圾回收机不会在运行期对该区域进行清理.随着应用载入的class越来越多(这些class包括所有来自lib包中引入的jar), 当该区域不够用时,将抛出PermGen space错误,这个时候就应该手动设置Perm Size的值, 如: JAVA_OPTS='-XX:PermSize=64m -XX:MaxPermSize=128m', 这个错误经常发生在应用启动时,如tomcat中运行过多应用,并且每个应用都包含相当多的lib包时,就可能发生该错误,因为每个应用lib包中的class载入时都会占用该区域一定的内存,即使这些应用包含相同的jar,当这些jar中的class载入时仍可能占用不同的内存区域,所以调整PermSize大小就是一个选择,另一个不错的办法就是将应用中相同的jar包移动到tomcat的lib目录中,这可以减少Perm区域的内存占用.<br /><br /><br />
</div>
<div></div>
<div><strong>java.lang.OutOfMemoryError:Java heap space</strong></div>
<div>JVM堆的内存区域,该区域是一个运行时数据区, 用于分配类的对象, 如我们new出来的实例对象.该区域可由运行时垃圾回收机清理, JVM在启动的时候会自动设置Heap size的值，其初始空间(即-Xms)是物理内存的1/64，最大空间(-Xmx)是物理内存的1/4。当我们在程序运行期间产生的实例对象越来越多,而这些对象又没有得到及时清理时, 直到这些对象占据到接近-Xmx的设置值时就会抛出该错误.&nbsp;</div>
<div>举个例子,如我们在web应用的session中保存了太多信息(session保存于服务器内存中),随着用户的增多,每个用户都分别占用着一定的内存,当同时在线的用户增加到一定程度时,就可能抛出该内存溢出错误, 这个时候最直接的解决办法就是设置-Xmx的大小(一般建议-Xms与-Xmx设置一样大),另一个就是检查你的session中是否存放了太多不必要的信息. 该错误还经常发生在很多后台线程中,为了处理一些大数据量的东西,我们经常会在系统中创建一些定时任务,这些定时任务可能会较长时间占据着系统的大量内存,随着任务越来越多,这些线程就可能在不知不觉中引起内存溢出错误!</div><img src ="http://www.blogjava.net/huliqing/aggbug/402665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2013-08-10 23:43 <a href="http://www.blogjava.net/huliqing/archive/2013/08/10/402665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QBlog0.96更新内容及新模板qblog01</title><link>http://www.blogjava.net/huliqing/archive/2010/10/17/335373.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sun, 17 Oct 2010 13:35:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2010/10/17/335373.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/335373.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2010/10/17/335373.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/335373.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/335373.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 新版本功能的增加及改进：<br><br>    * 增加新模板:qblog01<br>    * 增加应用模块“文章分类列表”,该功能模块允许您单独列出某类（Tag)文章的列表（重要）<br>    * “最新发表的文章”模块更新,增几个参数:Target,Show Date,Show Edit提升操作的友好度<br>    * 统一"文章列表"模块与"tag文章列表"的渲染逻辑 （重要）<br>    * article页增加“上一篇”、“下一篇”文章链接<br>    * article现在允许编辑发布时间.<br>    * 修复Live Writer在发布“草稿”类型的文章时遇到权限异常的问题。 （重要）<br>    * 统一修正了时区及日期格式  <br>&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2010/10/17/335373.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/335373.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2010-10-17 21:35 <a href="http://www.blogjava.net/huliqing/archive/2010/10/17/335373.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QBlog0.95更新</title><link>http://www.blogjava.net/huliqing/archive/2010/10/10/334172.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sun, 10 Oct 2010 05:24:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2010/10/10/334172.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/334172.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2010/10/10/334172.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/334172.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/334172.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 新增加及改进内容<br><br>    * 文章的摘要信息将直接从文章内容自动生成。<br>    * 实现了MetaWeblog接口，现在可以用Windows Live Writer客户端等工具来发布日志, 具体配置看这里.<br>    * 增加了几个系统参数设置<br>    * 改进了导航栏的样式定义,改进的导航栏模块，现在允许使用垂直式的导航<br>    * 完善了模版相关css的定义<br>    * 新模板:notepad,dark<br>    * 快速的配置切换功能完成,更好人性化的功能，一键切换整站配置。<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2010/10/10/334172.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/334172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2010-10-10 13:24 <a href="http://www.blogjava.net/huliqing/archive/2010/10/10/334172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QFaces开源，基于JSF2.0的Ajax组件库</title><link>http://www.blogjava.net/huliqing/archive/2010/10/01/333610.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Fri, 01 Oct 2010 08:40:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2010/10/01/333610.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/333610.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2010/10/01/333610.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/333610.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/333610.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: QFaces是一个开源的JSF ajax组件框架，这个软件开放在LGPLv3下，你可以自由的使用该软件。<br><br>这个组件包支持标准jsf2.0应用及facelets页面技术。它可以帮助你实现更友好的用户体验，并简化JSF web的开发过程。 &nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2010/10/01/333610.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/333610.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2010-10-01 16:40 <a href="http://www.blogjava.net/huliqing/archive/2010/10/01/333610.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源LGPL——如何宣告自己的程式为自由软件</title><link>http://www.blogjava.net/huliqing/archive/2010/09/29/333393.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Wed, 29 Sep 2010 06:44:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2010/09/29/333393.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/333393.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2010/09/29/333393.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/333393.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/333393.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这里使用LGPL协议为例简单说明一下如何将自己的程序宣告为开源软件<br>首先确定自己要使用的开源协议，这里选择LGPL（关于其它协议及协议的详细内容，请参考其它资料）,<br>然后确定并准备以下几部分内容:&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2010/09/29/333393.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/333393.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2010-09-29 14:44 <a href="http://www.blogjava.net/huliqing/archive/2010/09/29/333393.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QBlog开篇第一章，闲谈AppEngine</title><link>http://www.blogjava.net/huliqing/archive/2010/08/28/330118.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sat, 28 Aug 2010 10:32:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2010/08/28/330118.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/330118.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2010/08/28/330118.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/330118.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/330118.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 写这个独立博客程序也有一段时间了，今天是首发版——QBlog0.92独立博客程序&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2010/08/28/330118.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/330118.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2010-08-28 18:32 <a href="http://www.blogjava.net/huliqing/archive/2010/08/28/330118.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QFaces1.5.16 - JSF ajax extension framework</title><link>http://www.blogjava.net/huliqing/archive/2009/11/06/301336.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Thu, 05 Nov 2009 16:27:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2009/11/06/301336.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/301336.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2009/11/06/301336.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/301336.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/301336.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     已经一段时间没有更新Blog， 。最近一直想更新blog又没有安排好时间，唉！<br><br>    人一懒散起来的时候什么都不想做， 恢复状态的时候又恨不得一下子把什么东西都搞掂。<br><br>    QQ群这一段时间也是冷清不少。数了一下共有14个QQ群，基本都是编程方面的，大多已经忘记了是怎么加进去的了。经济危机之前群消息可是经常闪个不停，虽然自己很少在里面聊天，不过看着群消息不断，还是感觉挺热闹的，至少知道自己不是一个人在战斗，哈哈！<br><br>    经济危机之后冷清了很多呢，不用国家的统计数字，从QQ就能够感觉出来了呢。就算是blogjava也能看出来，现在没有每天发的文章数远没有刚开始加入时看到的那么多。虽然这段时间没有更新blog,不过我可是每天都在“监视”呢！，怎么说呢：可以忘记刷牙，可以忘记吃早餐，可以忘记今天是星期几，就是不会忘记每天浏览blogjava、浏览javaeye、清理垃圾邮件（？），好像成了居家旅行，生活必备的了。嘿嘿！&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2009/11/06/301336.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/301336.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2009-11-06 00:27 <a href="http://www.blogjava.net/huliqing/archive/2009/11/06/301336.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QFaces 下载页面 -- 基于JSF的Ajax增强框架。</title><link>http://www.blogjava.net/huliqing/archive/2009/11/06/241428.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Thu, 05 Nov 2009 16:27:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2009/11/06/241428.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/241428.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2009/11/06/241428.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/241428.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/241428.html</trackback:ping><description><![CDATA[&nbsp;QFaces下载地址:<br />
<br />
&nbsp;&nbsp;&nbsp;
7.<u><a title="QFaces1.5.16下载及在线Demo" href="http://huliqing-qfaces.appspot.com/">QFaces1.5.16下载及在线Demo</a></u><br />
<br />
&nbsp;&nbsp;&nbsp; 6.<a title="QFaces1.4下载及在线Demo演示" href="http://huliqing-qfaces.appspot.com/">QFaces1.4下载及在线Demo演示</a><br />
<br />
&nbsp;&nbsp;&nbsp; 5.<a href="/Files/huliqing/QFaces/QFaces1.3.rar" title="QFaces1.3下载（附：Javadoc,Demo,使用文档)">QFaces1.3下载（附：Javadoc,Demo,使用文档)</a><br />
&nbsp; <br />
&nbsp;&nbsp;&nbsp; 4.<a title="QFaces1.2.1下载（附：Javadoc,使用文档，该版本已经能够兼容Facelets）" href="/Files/huliqing/QFaces1.2.1.rar">QFaces1.2.1下载（附：Javadoc,使用文档，该版本已经能够兼容Facelets）</a><br />
<br />
&nbsp;&nbsp;&nbsp; 3.<a title="QFaces1.2下载 (附:Javadoc,Demo,使用文档)" href="/Files/huliqing/QFaces-1.2.zip">QFaces1.2下载 (附:Javadoc,Demo,使用文档)</a><br />
<br />
&nbsp;&nbsp;&nbsp; 2.QFaces1.1（存在BUG，已取消下载，请下载1.2）<br />
<br />
&nbsp;&nbsp;&nbsp; 1.<a href="/Files/huliqing/QFaces1.0.rar" title="QFaces1.0下载 (附javadoc,及安装使用文档)">QFaces1.0下载 (附javadoc,及安装使用文档)</a>
<br />
<br />
<br />
相关文章:<br />
&nbsp;&nbsp;&nbsp; 6.<a title="做自由落体运动的JSF组件，使用javascript打造富有个性的漂亮组件——QFaces" href="http://www.blogjava.net/huliqing/archive/2009/04/29/268022.html">做自由落体运动的JSF组件，使用javascript打造富有个性的漂亮组件——QFaces</a><br />
&nbsp;&nbsp;&nbsp; 5.<a title="Ajax式的树形目录组件tree，支持无限层级+在线直观编辑功能——QFaces1.3（JSF）" href="http://www.blogjava.net/huliqing/archive/2009/04/12/265069.html">Ajax式的树形目录组件tree，支持无限层级+在线直观编辑功能——QFaces1.3（JSF）</a><br />
&nbsp;&nbsp;&nbsp; 4.<a title="一个带有Ajax功能的JSF组件的完整详细开发过程 " href="http://www.blogjava.net/huliqing/archive/2008/11/30/243493.html">一个带有Ajax功能的JSF组件的完整详细开发过程 </a><br />
&nbsp;&nbsp;&nbsp; 3.<a title="QFaces1.2 -- Ａjax方式,带进度条的文件上传组件FileUpload(for JSF)" href="http://www.blogjava.net/huliqing/archive/2008/11/28/243266.html">QFaces1.2 -- Ａjax方式,带进度条的文件上传组件FileUpload(for JSF)</a><br />
&nbsp;&nbsp;&nbsp; 2.<a title="QFaces1.1 -- 二级,三级,四级联动...,好吧,来个超级联动! JSF 与 Ajax可以这样完美的结合" href="http://www.blogjava.net/huliqing/archive/2008/11/19/241424.html">QFaces1.1 -- 二级,三级,四级联动...,好吧,来个超级联动! JSF 与 Ajax可以这样完美的结合</a><br />
&nbsp;&nbsp;&nbsp; 1<a id="viewpost1_TitleUrl" class="postTitle2" href="../../huliqing/archive/2008/11/14/240587.html">.QFaces - JSF的Ajax增强框架，使用Ajax可以这样简单.</a><br />
<br />
<img src ="http://www.blogjava.net/huliqing/aggbug/241428.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2009-11-06 00:27 <a href="http://www.blogjava.net/huliqing/archive/2009/11/06/241428.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>简单易用的JSF翻页组件</title><link>http://www.blogjava.net/huliqing/archive/2009/05/09/269718.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sat, 09 May 2009 01:55:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2009/05/09/269718.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/269718.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2009/05/09/269718.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/269718.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/269718.html</trackback:ping><description><![CDATA[&nbsp;<img alt="" src="http://www.blogjava.net/images/blogjava_net/huliqing/QFaces/QFaces_scroller_1.jpg" width="517" height="366" /><br />
<br />
新的QFaces组件<strong>scroller</strong>, 这是一个翻页组件，直接绑定到dataTable中即可，使用非常简单，组件会包含在1.5中发布，最近会进行一些测试，组件的性能很好，比网上大部分人所用到的LocalDataModel方式要好，从性能上和易用性上。<br />
从性能上，组件不会在生命周期中出现两次调用数据的多余操作，并且刷新之后仍可停留在原来所在的页面。<br />
从易用性上，只要实现一个非常简单的方法绑定就可以,这已经近乎傻瓜式的了。<br />
现在可以在这里看到一些效果,html,及java代码都有<br />
<br />
<a title="http://huliqing-qfaces.appspot.com/qfaces-example/ui-scroller.faces?qRecordStart=90" href="http://huliqing-qfaces.appspot.com/qfaces-example/ui-scroller.faces?qRecordStart=90">http://huliqing-qfaces.appspot.com/qfaces-example/ui-scroller.faces?qRecordStart=90</a><br />
<br />
预览一下用法吧，<br />
html代码<br />
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:form</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">q:scroller&nbsp;</span><span style="color: rgb(255, 0, 0);">for</span><span style="color: rgb(0, 0, 255);">="myDataTable"</span><span style="color: rgb(255, 0, 0);">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bind</span><span style="color: rgb(0, 0, 255);">="#{scrollerBean.loadData}"</span><span style="color: rgb(255, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;displayCount</span><span style="color: rgb(0, 0, 255);">="true"</span><span style="color: rgb(255, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;displayJump</span><span style="color: rgb(0, 0, 255);">="true"</span><span style="color: rgb(255, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;displayPage</span><span style="color: rgb(0, 0, 255);">="10"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:dataTable&nbsp;</span><span style="color: rgb(255, 0, 0);">id</span><span style="color: rgb(0, 0, 255);">="myDataTable"</span><span style="color: rgb(255, 0, 0);">&nbsp;&nbsp;border</span><span style="color: rgb(0, 0, 255);">="1"</span><span style="color: rgb(255, 0, 0);">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;binding</span><span style="color: rgb(0, 0, 255);">="#{scrollerBean.myData}"</span><span style="color: rgb(255, 0, 0);">&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value</span><span style="color: rgb(0, 0, 255);">="#{scrollerBean.people}"</span><span style="color: rgb(255, 0, 0);">&nbsp;var</span><span style="color: rgb(0, 0, 255);">="pl"</span><span style="color: rgb(255, 0, 0);">&nbsp;width</span><span style="color: rgb(0, 0, 255);">="500"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:column</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:outputText&nbsp;</span><span style="color: rgb(255, 0, 0);">value</span><span style="color: rgb(0, 0, 255);">="#{pl.name}"</span><span style="color: rgb(255, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">h:column</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:column</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:outputText&nbsp;</span><span style="color: rgb(255, 0, 0);">value</span><span style="color: rgb(0, 0, 255);">="#{pl.age}"</span><span style="color: rgb(255, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">h:column</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:column</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:outputText&nbsp;</span><span style="color: rgb(255, 0, 0);">value</span><span style="color: rgb(0, 0, 255);">="#{pl.birthday}"</span><span style="color: rgb(255, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">f:convertDateTime&nbsp;</span><span style="color: rgb(255, 0, 0);">pattern</span><span style="color: rgb(0, 0, 255);">="yyyy-MM-dd"</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">h:outputText</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">h:column</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:column</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">h:commandButton&nbsp;</span><span style="color: rgb(255, 0, 0);">value</span><span style="color: rgb(0, 0, 255);">="Test"</span><span style="color: rgb(255, 0, 0);"> actionListener</span><span style="color: rgb(0, 0, 255);">="#{scrollerBean.testListener}"</span><span style="color: rgb(255, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">/&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">h:column</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">h:dataTable</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">q:scroller</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">h:form</span><span style="color: rgb(0, 0, 255);">&gt;</span></div>
<br />
看到组件所绑定的方法了吗：<span style="color: rgb(255, 0, 0);">bind</span><span style="color: rgb(0, 0, 255);">="#{scrollerBean.loadData}"</span><span style="color: rgb(255, 0, 0);"> <span style="color: rgb(2, 0, 0);">，后台代码只要实现一个这样的方法进行绑定就可以.</span><br />
</span><br />
后台java代码<br />
<br />
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;PageModel&nbsp;loadData(</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;start)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;设置自己的pageSize</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);">&nbsp;pageSize&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">10</span><span style="color: rgb(0, 0, 0);">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;模拟,从DB中获取总记录数</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">long</span><span style="color: rgb(0, 0, 0);">&nbsp;total&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;getTotalCount();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;模拟从DB中获取一些数据，从start起pageSize条记录</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">Person</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">&nbsp;pageData&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;getFromDatabase(start,&nbsp;pageSize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;把这几个信息封装成PageModel返回，OK<img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PageModel&nbsp;pm&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);">&nbsp;PageModel();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pm.setPageData(pageData);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pm.setPageSize(pageSize);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pm.setTotal(total);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;pm;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br />
你可能不明白start这个参数是怎么来的，这是scroller组件计算出来后给你的，当第一次加载页面时它会是0，它代表着现在需要从数据库中的第几条数据读取记录，你只要根据start,再配合你自己设置的pageSize从数据库获取一页数据返回给scroller组件就可以。返回类型是PageModel,这是QFaces组件包中的类.只是非常简单的要求三个数据而已，一个当前页的数据，一个总记录数，一个pageSize.<br />
组件根据这三个数据可计算，并且渲染一个scroller翻页导航。这还不是整个组件的完整面貌，它会变得更好的。<br />
我很喜欢这个项目：）<br />
最近又对QFaces作了大幅调整，调整了URL获取资源的方式，QFaces.js拆分成了两个文件QFaces-gen,QFaces-faces,命名空间也作了一些调整。<br />
tree组件修正了一些bug,并提高了友好性。inputHelp修正了在谷歌浏览器下的错位问题，同时修正了上下左右键不能使用的问题。联动组件现在的工作方式仍然显得太积极，需要作一些调整。还有很多可以继续改进的。喜欢JSF的朋友，有问题可以一起互相交流学习。<br />
<br />
话外，昨天把自己的JTM放到U盘下运行，感觉非常棒，现在带着U盘或者手机就可以随处移动自己的WEB演示系统了:)， 不少朋友向我索要源码，有些不好意思，这个小东西是免费的，你可以随便用，没有版权约束，但不是开源的。源码我是拿来出售的。<br />
<img src ="http://www.blogjava.net/huliqing/aggbug/269718.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2009-05-09 09:55 <a href="http://www.blogjava.net/huliqing/archive/2009/05/09/269718.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>做自由落体运动的JSF组件，使用javascript打造富有个性的漂亮组件——QFaces</title><link>http://www.blogjava.net/huliqing/archive/2009/04/29/268022.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Wed, 29 Apr 2009 07:51:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2009/04/29/268022.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/268022.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2009/04/29/268022.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/268022.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/268022.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 使用javascript打造富有个性及物理特性的JSF组件。<br>在1.4中修正并调整了一些QFaces中的js代码之后，继续除bug及增加功能。现在是1.5beta。可以在线看Demo,并且现在效果更好。<br>    打算在1.5中增加一个基本的ajaxSupport组件或是日历组件并继续调优性能，并增加一个style文件，更好的统一下样式，现在已经慢慢形成自己的风格。在增加功能的同时考虑实用与性能，用户友好，及可扩展等。在1.4后的一段时间又使我对编程的认识提高了不少,但不只是编程上的，包括很多其它方面的。<br>    好了，继续。QFaces的js函数库最近又增加了不少，这些都是自己慢慢增加上去的，为了打造富有个性的组件，最近又添了两个主要函数。有朋友问为什么不使用ext或者使用其它现成的js 库。说真的，我还没有使用过ext,不是很了解。我喜欢自己写核心的东西，因为只有自己写才能把它玩转得更好。在写不了的情况下，才会借鉴或使用，在俱备足够知识之后，我喜欢重复造轮子。我并不认为重复造轮子就是错的，即使自己可能造得不好，但并不是绝对没有收获。&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2009/04/29/268022.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/268022.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2009-04-29 15:51 <a href="http://www.blogjava.net/huliqing/archive/2009/04/29/268022.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在google的AppEngine上部署自己的JSF应用——QFaces1.4更新，在线Demo</title><link>http://www.blogjava.net/huliqing/archive/2009/04/23/267217.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Thu, 23 Apr 2009 13:36:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2009/04/23/267217.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/267217.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2009/04/23/267217.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/267217.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/267217.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     花了不少时间在AppEngine上部署了个项目，准备有空的时候就持续更新上去。<br>关于AppEngine现在还是有很多限制，比如不能写文件，不能使用很多java的标准类库，不能产生新进程等。<br>    google列出了一个可用的java类库白名单，在部署你自己的项目的时候最好参考一下这个白名单，否则可能会在部署应用时遇到很多莫名的错误。虽然 google提供了相关的SDK可以在本地模拟AppEngine的应用环境，大部分情况下都是正确的，但是有时候你会发现上传应用之后会无法成功部署。这个可能是因为本地应用引用的类库中可能引用了AppEngine不支持的类库。在部署不成功之后，首页只是出现叫你报告该错误而已，并没有提供详细的日志信息，这是很痛苦的。幸好在google的开发人员首页中有提供相关的日志信息，进入自己的控制台可以看到自己的相关项目的详细信息，但是这些日志信息可能不是很实时。另外到AppEngine社区去查找一些相关的信息也是一个很好的方法，在配置spring的过程中就在社区获得很多有用的信息，看起来 AppEngine并不是完全兼容spring的，因为sp&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2009/04/23/267217.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/267217.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2009-04-23 21:36 <a href="http://www.blogjava.net/huliqing/archive/2009/04/23/267217.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ajax式的树形目录组件tree，支持无限层级+在线直观编辑功能——QFaces1.3（JSF）</title><link>http://www.blogjava.net/huliqing/archive/2009/04/12/265069.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sun, 12 Apr 2009 10:30:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2009/04/12/265069.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/265069.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2009/04/12/265069.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/265069.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/265069.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 同样，这也是一个JSF组件，在QFaces框架下制作的ajax组件，现在支持jsp及facelets视图技术。所以需要在JSF环境下使用。如果你并不使用JSF的话，并不要紧，后面会提供组件的大概制作思路及过程，如果你对javascript + div + css很熟悉的话，相信很快也会知道如何制作以应用于其它环境。不过我还是很推荐以JSF组件这种方式运行，它几乎可以封装掉组件95%+以上的复杂度，所以写完后使用起来非常简单。组件的JS写了800多行甚至内置了一个Tab组件:），到400左右行的时候几乎重写，在写编辑功能的时候遇到不少问题。大部分时间不是花在组件的逻辑，而是花在div+css上。如果可以只考虑一个浏览器那真是谢天谢地！不仅在多浏览器上，即使在单浏览器上也存在多版本。所以整浏览器兼容，已经整得让人很没精神。&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2009/04/12/265069.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/265069.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2009-04-12 18:30 <a href="http://www.blogjava.net/huliqing/archive/2009/04/12/265069.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于JSF1.2 + Spring2.5 + Hibernate3 + Facelets + Annotation整合配置的参考。</title><link>http://www.blogjava.net/huliqing/archive/2009/03/30/262856.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Mon, 30 Mar 2009 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2009/03/30/262856.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/262856.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2009/03/30/262856.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/262856.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/262856.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 提供一个整合JSF，Spring, Hibernate(JPA), Facelets, 及Annotation搭配的基础环境。对于刚开始使用这种组合的项目，或许可以参考一下，相信使用以上整合环境的项目还是比较少。一直很喜欢这种组合，JSF组件式的开发，Spring, Hibernate对BackingBean及数据源的管理，Facelets的模版化技术，以及Annotation都大大简化了开发。&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2009/03/30/262856.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/262856.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2009-03-30 18:11 <a href="http://www.blogjava.net/huliqing/archive/2009/03/30/262856.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一键搞定JavaEE应用，JTM1.0（JRE+Tomcat+MySQL绿色运行环境）把Web变得像桌面应用一样简单</title><link>http://www.blogjava.net/huliqing/archive/2009/03/25/261905.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Wed, 25 Mar 2009 09:26:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2009/03/25/261905.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/261905.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2009/03/25/261905.html#Feedback</comments><slash:comments>45</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/261905.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/261905.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这是一个集成了jre,tomcat,mysql的绿色运行环境, 解压之后就可以直接运行web（只要会点鼠标），不需要用户自己安装jre、tomcat、mysql,一键到位,看起来像是桌面程序的web应用.换句话说,就像是web与桌面应用的结合体,你还可以用它来调试或运行你的Web程序，详细信息请参考另一篇文章&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2009/03/25/261905.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/261905.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2009-03-25 17:26 <a href="http://www.blogjava.net/huliqing/archive/2009/03/25/261905.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一键搞定JavaEE应用, JRE + Tomcat + Mysql - JaveEE绿色运行环境JTM0.9版,将web变得像桌面应用一样简单.</title><link>http://www.blogjava.net/huliqing/archive/2008/12/20/247375.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Fri, 19 Dec 2008 16:55:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/12/20/247375.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/247375.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/12/20/247375.html#Feedback</comments><slash:comments>30</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/247375.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/247375.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     这是一个集成了jre,tomcat,mysql的绿色运行环境, 直接解压之后就可以运行.不需要用户自己安装jre,tomcat,mysql,一键到位,看起来像是桌面式的web应用.换句话说,就像是web与桌面应用的结合体.<br><br>    整个项目压缩后是34M(内含两个简单的web应用) ,我想对现在的带宽及硬盘已经不能算是庞然大物了.为了安全起见,里面的jre我没有做任何瘦身,是完整的jre1.6u11,tomcat使用的是 6.0.16, 端口默认为8080, mysql使用5.1.3这也是最小的完整版,支持InnoDB, 默认用户root,密码空<br><br>    所以你可以用这个环境来运行你的整个项目,直接将你的项目部署到app\web下就可以,数据库文件存放于app\data下(你可以自己使用工具连接这个mysql进行一些必要的修改), 然后再将整个应用打包后发送给用户就可以了.<br><br>    下载后直接解压,运行JTM0.9.exe, 点"启动(调试模式)"即可运行你的JavaEE应用.&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/12/20/247375.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/247375.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/huliqing/" target="_blank">huliqing</a> 2008-12-20 00:55 <a href="http://www.blogjava.net/huliqing/archive/2008/12/20/247375.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>