﻿<?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-随笔分类-JavaEE-JSF</title><link>http://www.blogjava.net/huliqing/category/35998.html</link><description>沉淀...</description><language>zh-cn</language><lastBuildDate>Mon, 18 Oct 2010 13:29:38 GMT</lastBuildDate><pubDate>Mon, 18 Oct 2010 13:29:38 GMT</pubDate><ttl>60</ttl><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>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>3</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应用, 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>27</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><item><title>一个带有Ajax功能的JSF组件的完整详细开发过程</title><link>http://www.blogjava.net/huliqing/archive/2008/11/30/243493.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Sun, 30 Nov 2008 15:41:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/11/30/243493.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/243493.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/11/30/243493.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/243493.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/243493.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要:     文章有点长,写得比较详细,有兴趣与耐心开发JSF组件的就往下看吧,下面将详细介绍一个标准ＪＳＦ组件的制作过程，并且后面将使用QFaces将它升级为Ａjax方式的组件(如果要升级为Ajax组件，请先安装QFaces增强框架).如果你发现有任何问题或错漏,请给予批评指正,相关的完整代码在QFaces的Demo示例中,可以自行下载查看: &nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/11/30/243493.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/243493.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-11-30 23:41 <a href="http://www.blogjava.net/huliqing/archive/2008/11/30/243493.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QFaces1.2 -- Ａjax方式,带进度条的文件上传组件FileUpload(for JSF)</title><link>http://www.blogjava.net/huliqing/archive/2008/11/28/243266.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Fri, 28 Nov 2008 09:34:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/11/28/243266.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/243266.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/11/28/243266.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/243266.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/243266.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这是QFaces的第4个组件,Ajax方式带进度条的文件上传组件,我希望每一个重要组件都提升一个版本,呵呵!这个版本同时修正了ie6下的ajax 兼容问题.在介绍完这个组件之后,打算介绍一下如何利用QFaces自定义自己的Ajax组件,希望这个增强框架能对喜欢JSF的人有一些帮助.后面版本的升级可能就不会这么快,或者考虑兼容一下facelets,并修正一些可能出现的错误,还有开源计划,然后继续维护并增加一些比较常用与实用的组件,关注一下JSF2.0的发展等等.&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/11/28/243266.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/243266.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-11-28 17:34 <a href="http://www.blogjava.net/huliqing/archive/2008/11/28/243266.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QFaces1.1 -- 二级,三级,四级联动...,好吧,来个超级联动! JSF 与 Ajax可以这样完美的结合</title><link>http://www.blogjava.net/huliqing/archive/2008/11/20/241424.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Thu, 20 Nov 2008 07:48:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/11/20/241424.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/241424.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/11/20/241424.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/241424.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/241424.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 实际应用中我们经常会碰到需要级联选择的功能，比如：国家，省级，市级等的级联选择，这些实现起来并不容易，<br>并且要实现较好的兼容性也不是一件轻松的事情，如果要使用者再添加一大堆的javascript也是很麻烦的事情。<br>所以我尽量使用非侵入式的方式,将它实现得比较轻松自由，并且让使用者以最简单的方式使用，这是我的目标。<br>在不改变你的代码及逻辑的情况下，使用这个组件就可以将你页面中的所有selectOne组件变成拥有级联关系的！！<br>如果你感觉很神奇，那就去学一学JSF这个框架吧，实际上自定义组件才是JSF的精华, 这绝对是你发挥无限想象力的地方!&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/11/20/241424.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/241424.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-11-20 15:48 <a href="http://www.blogjava.net/huliqing/archive/2008/11/20/241424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QFaces - JSF的Ajax增强框架，使用Ajax可以这样简单.</title><link>http://www.blogjava.net/huliqing/archive/2008/11/14/240587.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Fri, 14 Nov 2008 10:33:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/11/14/240587.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/240587.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/11/14/240587.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/240587.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/240587.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: “JSF 简直就是一个非常神奇，又魅力无穷的框架”。<br>这是我学习这么久之后自己对JSF的一个总结。有一段时间没有写随笔了,不过最近工作一停下来就又有了时间来发点牢骚,看望一下Blog中的朋友,呵呵! 顺便搞点东西出来充实自己。<br><br>写这个增强框架, 一是为了锻炼提高自己的能力, 二是为了总结一下自已各方面的一些知识!另一个我也希望JSF这么好的一个框架, 会有更多人喜欢! 尽管他入门并不容易,而且目前资料也还是太少! 不过作为一个设计如此优雅的框架,我相信会有很多人喜欢她的! 还有一个就是最近又有点无所事事，一停下手头的工作就想弄点什么东西出来，这使自己一直对编程保留激情，保持自信。最近又与朋友聊了很多这方面的东西，网络真是个好东西，不用见面有时候就可以聊得很投机。没事的时候与朋友聊聊天，谈谈编程方面的东西，也不会使自己整天坐在电脑前时感觉郁闷！（我写文章总是喜欢偏题），想到什么就写什么，这样很舒服！&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/11/14/240587.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/240587.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-11-14 18:33 <a href="http://www.blogjava.net/huliqing/archive/2008/11/14/240587.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>详细分析一个JSF组件的制作过程 </title><link>http://www.blogjava.net/huliqing/archive/2008/03/14/186343.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Fri, 14 Mar 2008 09:15:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/03/14/186343.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/186343.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/03/14/186343.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/186343.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/186343.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 实际上制作一个JSF组件，基本上你只要处理好UIComponent及UIComponentTag即可，重点就是这两个，其它文件只是简单的收尾工作。<br>下面以我制作的一个实现双联动的选择框组件(Htmllinkage)为例进行说明,该组件在页面渲染了两个select,并可进行双联动选择，使用方法及效果在我的上一篇文章中&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/03/14/186343.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/186343.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-03-14 17:15 <a href="http://www.blogjava.net/huliqing/archive/2008/03/14/186343.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>努力打造一个创意的开源JSF组件包——Tcoco</title><link>http://www.blogjava.net/huliqing/archive/2008/03/06/184315.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Thu, 06 Mar 2008 09:50:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/03/06/184315.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/184315.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/03/06/184315.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/184315.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/184315.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 花了几天时间又为我的Tcoco组件包增加了两个新的组件: HtmlLinkage 、HtmlAjaxMess<br><br>想要努力打造一个创意的开源JSF组件包,如果有人帮忙贡献一些代码、组件或者提供一些建议的话，非常感谢！<br><br>HtmlLinkage : 实现了一个双联动下拉框。<br><br>HtmlAjaxMess : 实现酷酷的站内信功能。<br><br>组件测试地址：http://www.tbuy.biz/tbuy/test.faces&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/03/06/184315.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/184315.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-03-06 17:50 <a href="http://www.blogjava.net/huliqing/archive/2008/03/06/184315.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一些学习心得及设计模式随记</title><link>http://www.blogjava.net/huliqing/archive/2008/02/19/180633.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Tue, 19 Feb 2008 04:03:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/02/19/180633.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/180633.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/02/19/180633.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/180633.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/180633.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 本来打算在sourceforge申请一个项目后再将Tbuy1.2源代码放出来!刚好这两天打开sourceforge的网站速度如蜗牛般慢！所以也就搁了下来,顺便打算把项目重构一下之后再申请,发现自己的作品一直在重构,每一次重构都是一个进步。<br><br>Tbuy这个项目开放源码后得到很多朋友的帮助与建议!学到了不少知识，真的非常感谢，虽然普遍认为国内缺乏开源土壤, 但开源可以学到更多更深的知识,所以打算一直开源下去。继续整理了1.2的代码，把源码放出来，喜欢JSF的人可以自由下载，&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/02/19/180633.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/180633.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-02-19 12:03 <a href="http://www.blogjava.net/huliqing/archive/2008/02/19/180633.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>创建自己的开源项目，提高自己的编程水平，Tbuy1.2(JSF)</title><link>http://www.blogjava.net/huliqing/archive/2008/02/04/179273.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Mon, 04 Feb 2008 04:08:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/02/04/179273.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/179273.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/02/04/179273.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/179273.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/179273.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 有时候我感觉在打包项目的时候比编写程序更花时间，开个玩笑！Tbuy1.2已经作好了好些天，但是在打包的时候一直小心翼翼，生怕错漏了某些文件，或相关数据库文件等等。打包之后还要再解压出来测试一下!Tbuy是我的一个JavaEE论坛项目，基于JSF框架。&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/02/04/179273.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/179273.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-02-04 12:08 <a href="http://www.blogjava.net/huliqing/archive/2008/02/04/179273.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用JSF为自己打造一个coco的组件包</title><link>http://www.blogjava.net/huliqing/archive/2008/01/11/174479.html</link><dc:creator>huliqing</dc:creator><author>huliqing</author><pubDate>Fri, 11 Jan 2008 00:29:00 GMT</pubDate><guid>http://www.blogjava.net/huliqing/archive/2008/01/11/174479.html</guid><wfw:comment>http://www.blogjava.net/huliqing/comments/174479.html</wfw:comment><comments>http://www.blogjava.net/huliqing/archive/2008/01/11/174479.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/huliqing/comments/commentRss/174479.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/huliqing/services/trackbacks/174479.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 这几天把我的JSF论坛项目Tbuy整理了一下，把其中的几个组件分离了出来,组成了一个组件包,可以单独使用,让界面实现更人性化、更友好的效果。现在介绍一下自己的这个小组件包(会变得更大的）<br><coco:embed/> 在页面渲染一下mediaplay播放器，并且可支持LRC歌词同步。<br><coco:ajaxLogin/> 用于页面的快速登录，无刷新，使用Ajax技术处理。<br><coco:regid/> 专门用于注册id的组件，支持ajax验证id，支持正则配匹id格式，支持长度验证。<br><coco:inputFormat/> 专门用于需要格式配匹的字段。使用正则配匹。支持长度验证。并且可渲染为密码字段。&nbsp;&nbsp;<a href='http://www.blogjava.net/huliqing/archive/2008/01/11/174479.html'>阅读全文</a><img src ="http://www.blogjava.net/huliqing/aggbug/174479.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-01-11 08:29 <a href="http://www.blogjava.net/huliqing/archive/2008/01/11/174479.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>