﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-宁静以思远</title><link>http://www.blogjava.net/aaronbamboo/</link><description>Java使人内心宁静</description><language>zh-cn</language><lastBuildDate>Fri, 17 Apr 2026 22:39:04 GMT</lastBuildDate><pubDate>Fri, 17 Apr 2026 22:39:04 GMT</pubDate><ttl>60</ttl><item><title>终于解决了Tree2的状态问题</title><link>http://www.blogjava.net/aaronbamboo/archive/2009/12/10/305354.html</link><dc:creator>Aaronbamoo</dc:creator><author>Aaronbamoo</author><pubDate>Wed, 09 Dec 2009 16:02:00 GMT</pubDate><guid>http://www.blogjava.net/aaronbamboo/archive/2009/12/10/305354.html</guid><wfw:comment>http://www.blogjava.net/aaronbamboo/comments/305354.html</wfw:comment><comments>http://www.blogjava.net/aaronbamboo/archive/2009/12/10/305354.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/aaronbamboo/comments/commentRss/305354.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aaronbamboo/services/trackbacks/305354.html</trackback:ping><description><![CDATA[以前在公司，平台组已经把组件都给我们开发好了，对于界面没有花太多的时间研究。近日想自己做个小系统，还是用比较擅长的JSF+Hibernate+Spring。考虑Facelet的模板功能，这次想尝试一下。结果，一个Tree2就把我纳闷了好一会。<br />
从网上找了篇文章，试着依样画葫芦，做了模板页，分top，left，content三块布局，left自然就是tree2菜单了。<br />
首先看一下模板页：<br />
template.xthml<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="left"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ui:insert&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="left"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ui:include&nbsp;</span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="leftmenu.xhtml"</span><span style="color: #0000ff;">&gt;&lt;/</span><span style="color: #800000;">ui:include</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ui:insert</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">5</span>&nbsp;<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">6</span>&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="content"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="left_content"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ui:insert&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="content"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Content</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ui:insert</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">8</span>&nbsp;<span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></div>
其中左边菜单：<br />
leftmenu.xhtml<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">t:tree2&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="serverTree"</span><span style="color: #ff0000;">&nbsp;value</span><span style="color: #0000ff;">="#{calendarBean.treeData}"</span><span style="color: #ff0000;">&nbsp;var</span><span style="color: #0000ff;">="node"</span><span style="color: #ff0000;">&nbsp;varNodeToggler</span><span style="color: #0000ff;">="t"</span><span style="color: #ff0000;">&nbsp;clientSideToggle</span><span style="color: #0000ff;">="false"</span><span style="color: #ff0000;">&nbsp;showRootNode</span><span style="color: #0000ff;">="true"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">&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;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&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: #0000ff;">&lt;</span><span style="color: #800000;">f:facet&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="document"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">h:panelGroup</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">h:commandLink&nbsp;</span><span style="color: #ff0000;">immediate</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;styleClass</span><span style="color: #0000ff;">="#{t.nodeSelected&nbsp;?&nbsp;'documentSelected':'document'}"</span><span style="color: #ff0000;">&nbsp;action</span><span style="color: #0000ff;">="link_page"</span><span style="color: #ff0000;">&nbsp;actionListener</span><span style="color: #0000ff;">="#{t.setNodeSelected}"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">t:graphicImage&nbsp;</span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="/images/document.png"</span><span style="color: #ff0000;">&nbsp;border</span><span style="color: #0000ff;">="0"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">h:outputText&nbsp;</span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="#{node.description}"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">f:param&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="docNum"</span><span style="color: #ff0000;">&nbsp;value</span><span style="color: #0000ff;">="#{node.identifier}"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">h:commandLink</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&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;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">h:panelGroup</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&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: #0000ff;">&lt;/</span><span style="color: #800000;">f:facet</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;"> </span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">t:tree2</span><span style="color: #0000ff;">&gt;</span></div>
其中backingBean代码如下，配置有效范围为session<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;calendarBean&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;TreeData&nbsp;treeData;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;Date&nbsp;secondDate;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;Date&nbsp;getSecondDate()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;secondDate;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;setSecondDate(Date&nbsp;secondDate)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.secondDate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;secondDate;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;TreeData&nbsp;getTreeDate()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;treeData)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TreeNode&nbsp;treeData&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;TreeNodeBase(</span><span style="color: #000000;">"</span><span style="color: #000000;">foo-folder</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Inbox</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...... <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;treeData;<br />
}<br />
......<br />
}</span></div>
<br />
这里为了方便测试，故意把commandLink的action指向link_page导航，link_page配置为：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">navigation-rule</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">from-view-id</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">/treeSample2.xhtml</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">from-view-id</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">navigation-case</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">from-outcome</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">link_page</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">from-outcome</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">to-view-id</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">/treeSample2link.xhtml</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">to-view-id</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">navigation-case</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">navigation-rule</span><span style="color: #0000ff;">&gt;</span></div>
treeSample2.xhtml和treeSample2link.xhtml分别为两个使用了template.xhtml模板的页面，显然它们都用到了菜单。<br />
<br />
&nbsp;运行后，首先打开treeSample.xhtml，非常成功，菜单出来了，而且由于使用了Server端树，每次打开子节点，都会提交到服务器，页面刷新后，除了正在操作的节点，其他节点也都保持原来的状态。<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/aaronbamboo/menu1.png" height="499" width="439" /><br />
但是，当我点击节点，跳转到treeSample2link.xhtml时，问题出来，所有节点都折叠起来，而并没有保持我原来页面的状态。这说明从一个页面跳转到另一个页面时，节点状态并没有被传递过去。<br />
有些想不明白，既然backingbean是session的，为什么没有记录节点的状态呢？网上搜了些资料，很少有提到关于状态的。myface的wiki中似乎也找不到类似的问题。无奈之下，只能直接看tree2的代码，终于发现了问题所在。原来我有个TreeState接口存储节点状态的，而它又是被set到treeModel的，而我的代码中只使用了treeData，没有给它包装成treeModel。Tree2中提供了treeModel的一个实现treeModelBase，直接使用就可以了。于是乎，改一下代码：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;calendarBean&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;TreeModel&nbsp;personTreeModel;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;TreeModel&nbsp;getPersonTreeModel()&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;personTreeModel)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TreeNode&nbsp;treeData&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;TreeNodeBase(</span><span style="color: #000000;">"</span><span style="color: #000000;">foo-folder</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">Inbox</span><span style="color: #000000;">"</span><span style="color: #000000;">,&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;personTreeModel&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;TreeModelBase(treeData);<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;personTreeModel;<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp; }<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">}</span></div>
改一下绑定：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;<span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">t:tree2&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="serverTree"</span><span style="color: #ff0000;">&nbsp;value</span><span style="color: #0000ff;">="#{calendarBean.persontreeModel}"</span><span style="color: #ff0000;">&nbsp;<img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />
</span></div>
测试一下，果然，无论怎么链接，依然保持良好的状态，呵呵。<br />
<img src ="http://www.blogjava.net/aaronbamboo/aggbug/305354.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aaronbamboo/" target="_blank">Aaronbamoo</a> 2009-12-10 00:02 <a href="http://www.blogjava.net/aaronbamboo/archive/2009/12/10/305354.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>原来这么久没有写点什么了，发现一个很严重的问题</title><link>http://www.blogjava.net/aaronbamboo/archive/2009/12/09/305346.html</link><dc:creator>Aaronbamoo</dc:creator><author>Aaronbamoo</author><pubDate>Wed, 09 Dec 2009 15:16:00 GMT</pubDate><guid>http://www.blogjava.net/aaronbamboo/archive/2009/12/09/305346.html</guid><wfw:comment>http://www.blogjava.net/aaronbamboo/comments/305346.html</wfw:comment><comments>http://www.blogjava.net/aaronbamboo/archive/2009/12/09/305346.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/aaronbamboo/comments/commentRss/305346.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aaronbamboo/services/trackbacks/305346.html</trackback:ping><description><![CDATA[上次发博还是07年9月的事，那时我还在运营商，这时自己私下再学Java，偶尔上来写点心得。没想过了几个星期，我转身离开运营商，来到了设备商做研发，终于如愿能做些自己喜欢做的工作了，但是忙碌的工作之余，却忘记了再来写点什么。而两年不到的时间，我又再次回到了另一个运营商，发现还是放不下在研发的日子，又开始想做点什么。于是乎，又开始想写点什么。这好比一个轮回，其中的得失，只有自己明白。<br />
<img src ="http://www.blogjava.net/aaronbamboo/aggbug/305346.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aaronbamboo/" target="_blank">Aaronbamoo</a> 2009-12-09 23:16 <a href="http://www.blogjava.net/aaronbamboo/archive/2009/12/09/305346.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的超炫的Fedora7 3D桌面</title><link>http://www.blogjava.net/aaronbamboo/archive/2007/09/05/143015.html</link><dc:creator>Aaronbamoo</dc:creator><author>Aaronbamoo</author><pubDate>Wed, 05 Sep 2007 14:16:00 GMT</pubDate><guid>http://www.blogjava.net/aaronbamboo/archive/2007/09/05/143015.html</guid><wfw:comment>http://www.blogjava.net/aaronbamboo/comments/143015.html</wfw:comment><comments>http://www.blogjava.net/aaronbamboo/archive/2007/09/05/143015.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/aaronbamboo/comments/commentRss/143015.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aaronbamboo/services/trackbacks/143015.html</trackback:ping><description><![CDATA[<img src="http://www.blogjava.net/images/blogjava_net/aaronbamboo/Screenshot2.png" alt="" border="0" />/home/aaron/Desktop/Screenshot.png<br />
<img src ="http://www.blogjava.net/aaronbamboo/aggbug/143015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aaronbamboo/" target="_blank">Aaronbamoo</a> 2007-09-05 22:16 <a href="http://www.blogjava.net/aaronbamboo/archive/2007/09/05/143015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>泛型</title><link>http://www.blogjava.net/aaronbamboo/archive/2007/07/16/130505.html</link><dc:creator>Aaronbamoo</dc:creator><author>Aaronbamoo</author><pubDate>Mon, 16 Jul 2007 03:07:00 GMT</pubDate><guid>http://www.blogjava.net/aaronbamboo/archive/2007/07/16/130505.html</guid><wfw:comment>http://www.blogjava.net/aaronbamboo/comments/130505.html</wfw:comment><comments>http://www.blogjava.net/aaronbamboo/archive/2007/07/16/130505.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/aaronbamboo/comments/commentRss/130505.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aaronbamboo/services/trackbacks/130505.html</trackback:ping><description><![CDATA[1,ArrayList的Generics<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_34_379_Open_Image onclick="this.style.display='none'; Codehighlighter1_34_379_Open_Text.style.display='none'; Codehighlighter1_34_379_Closed_Image.style.display='inline'; Codehighlighter1_34_379_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_34_379_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_34_379_Closed_Text.style.display='none'; Codehighlighter1_34_379_Open_Image.style.display='inline'; Codehighlighter1_34_379_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;ArrayListGenericDemo&nbsp;</span><span id=Codehighlighter1_34_379_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_34_379_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img id=Codehighlighter1_78_376_Open_Image onclick="this.style.display='none'; Codehighlighter1_78_376_Open_Text.style.display='none'; Codehighlighter1_78_376_Closed_Image.style.display='inline'; Codehighlighter1_78_376_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_78_376_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_78_376_Closed_Text.style.display='none'; Codehighlighter1_78_376_Open_Image.style.display='inline'; Codehighlighter1_78_376_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id=Codehighlighter1_78_376_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_78_376_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ArrayList</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;data&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ArrayList</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">();&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;data.add(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hello</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;data.add(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">goodbye</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;data.add(new&nbsp;Date());&nbsp;This&nbsp;won't&nbsp;compile!&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;Iterator</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;it&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;data.iterator();&nbsp;<br><img id=Codehighlighter1_305_371_Open_Image onclick="this.style.display='none'; Codehighlighter1_305_371_Open_Text.style.display='none'; Codehighlighter1_305_371_Closed_Image.style.display='inline'; Codehighlighter1_305_371_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_305_371_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_305_371_Closed_Text.style.display='none'; Codehighlighter1_305_371_Open_Image.style.display='inline'; Codehighlighter1_305_371_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(it.hasNext())&nbsp;</span><span id=Codehighlighter1_305_371_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_305_371_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;s&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;it.next();&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(s);&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;</span></div>
2,HashMap的Generics<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_34_379_Open_Image onclick="this.style.display='none'; Codehighlighter1_34_379_Open_Text.style.display='none'; Codehighlighter1_34_379_Closed_Image.style.display='inline'; Codehighlighter1_34_379_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_34_379_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_34_379_Closed_Text.style.display='none'; Codehighlighter1_34_379_Open_Image.style.display='inline'; Codehighlighter1_34_379_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;ArrayListGenericDemo&nbsp;</span><span id=Codehighlighter1_34_379_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_34_379_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img id=Codehighlighter1_78_376_Open_Image onclick="this.style.display='none'; Codehighlighter1_78_376_Open_Text.style.display='none'; Codehighlighter1_78_376_Closed_Image.style.display='inline'; Codehighlighter1_78_376_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_78_376_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_78_376_Closed_Text.style.display='none'; Codehighlighter1_78_376_Open_Image.style.display='inline'; Codehighlighter1_78_376_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span id=Codehighlighter1_78_376_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_78_376_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;ArrayList</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;data&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ArrayList</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">();&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;data.add(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hello</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;data.add(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">goodbye</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;data.add(new&nbsp;Date());&nbsp;This&nbsp;won't&nbsp;compile!&nbsp;</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;Iterator</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">String</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;it&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;data.iterator();&nbsp;<br><img id=Codehighlighter1_305_371_Open_Image onclick="this.style.display='none'; Codehighlighter1_305_371_Open_Text.style.display='none'; Codehighlighter1_305_371_Closed_Image.style.display='inline'; Codehighlighter1_305_371_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_305_371_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_305_371_Closed_Text.style.display='none'; Codehighlighter1_305_371_Open_Image.style.display='inline'; Codehighlighter1_305_371_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(it.hasNext())&nbsp;</span><span id=Codehighlighter1_305_371_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_305_371_Open_Text><span style="COLOR: #000000">{&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;s&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;it.next();&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(s);&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;</span></div>
<img src ="http://www.blogjava.net/aaronbamboo/aggbug/130505.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aaronbamboo/" target="_blank">Aaronbamoo</a> 2007-07-16 11:07 <a href="http://www.blogjava.net/aaronbamboo/archive/2007/07/16/130505.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Head First EJB</title><link>http://www.blogjava.net/aaronbamboo/archive/2007/05/23/119464.html</link><dc:creator>Aaronbamoo</dc:creator><author>Aaronbamoo</author><pubDate>Wed, 23 May 2007 10:08:00 GMT</pubDate><guid>http://www.blogjava.net/aaronbamboo/archive/2007/05/23/119464.html</guid><wfw:comment>http://www.blogjava.net/aaronbamboo/comments/119464.html</wfw:comment><comments>http://www.blogjava.net/aaronbamboo/archive/2007/05/23/119464.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/aaronbamboo/comments/commentRss/119464.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aaronbamboo/services/trackbacks/119464.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 尽管EJB2.0自出生就带来了很多非议，但是&lt;head first EJB&gt;仍然值得拜读，原本一直被外界的评论所影响，不敢碰关于EJB的东西，刚刚在CSDN上学习了前几章，发现原来EJB虽然有些复杂，但是也不是高不可攀。今天正好把第三章看完，明天就有朋友帮我把书带来了，继续奋斗！<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 尽管过多的不相关工作延缓了Java的学习进程，但是只要坚持信仰，不断努力，一定会看到希望!
<img src ="http://www.blogjava.net/aaronbamboo/aggbug/119464.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aaronbamboo/" target="_blank">Aaronbamoo</a> 2007-05-23 18:08 <a href="http://www.blogjava.net/aaronbamboo/archive/2007/05/23/119464.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于Hibernate</title><link>http://www.blogjava.net/aaronbamboo/archive/2007/03/25/106283.html</link><dc:creator>Aaronbamoo</dc:creator><author>Aaronbamoo</author><pubDate>Sun, 25 Mar 2007 14:40:00 GMT</pubDate><guid>http://www.blogjava.net/aaronbamboo/archive/2007/03/25/106283.html</guid><wfw:comment>http://www.blogjava.net/aaronbamboo/comments/106283.html</wfw:comment><comments>http://www.blogjava.net/aaronbamboo/archive/2007/03/25/106283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/aaronbamboo/comments/commentRss/106283.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aaronbamboo/services/trackbacks/106283.html</trackback:ping><description><![CDATA[
		<p>    最近在写Hibernate+struts的程序，发现为了完成一个查询功能，废的劲还真不少，总感觉很不爽。真不知道它好在哪里，继续学习&lt;深入浅出Hibernate&gt;。</p>
<img src ="http://www.blogjava.net/aaronbamboo/aggbug/106283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aaronbamboo/" target="_blank">Aaronbamoo</a> 2007-03-25 22:40 <a href="http://www.blogjava.net/aaronbamboo/archive/2007/03/25/106283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]运用类反射机制简化Struts应用程序的开发</title><link>http://www.blogjava.net/aaronbamboo/archive/2007/03/21/105167.html</link><dc:creator>Aaronbamoo</dc:creator><author>Aaronbamoo</author><pubDate>Wed, 21 Mar 2007 02:05:00 GMT</pubDate><guid>http://www.blogjava.net/aaronbamboo/archive/2007/03/21/105167.html</guid><wfw:comment>http://www.blogjava.net/aaronbamboo/comments/105167.html</wfw:comment><comments>http://www.blogjava.net/aaronbamboo/archive/2007/03/21/105167.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/aaronbamboo/comments/commentRss/105167.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aaronbamboo/services/trackbacks/105167.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: [IBM 										developerWorks 中国														 ]								本文讲述了如何利用Java的反射的机制来简化Structs应用程序的开发。		Struts中引入ActionForm类的意义与缺陷：		在Struts应用程序中，ActionForm是一个很重要的概念,它的主要功能就是为Action的操作提供与客户表单...&nbsp;&nbsp;<a href='http://www.blogjava.net/aaronbamboo/archive/2007/03/21/105167.html'>阅读全文</a><img src ="http://www.blogjava.net/aaronbamboo/aggbug/105167.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aaronbamboo/" target="_blank">Aaronbamoo</a> 2007-03-21 10:05 <a href="http://www.blogjava.net/aaronbamboo/archive/2007/03/21/105167.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts&amp;validation&amp;西安</title><link>http://www.blogjava.net/aaronbamboo/archive/2007/03/20/105031.html</link><dc:creator>Aaronbamoo</dc:creator><author>Aaronbamoo</author><pubDate>Tue, 20 Mar 2007 08:47:00 GMT</pubDate><guid>http://www.blogjava.net/aaronbamboo/archive/2007/03/20/105031.html</guid><wfw:comment>http://www.blogjava.net/aaronbamboo/comments/105031.html</wfw:comment><comments>http://www.blogjava.net/aaronbamboo/archive/2007/03/20/105031.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/aaronbamboo/comments/commentRss/105031.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/aaronbamboo/services/trackbacks/105031.html</trackback:ping><description><![CDATA[    快速学习了一遍《head first servlet/jsp》，发现再次去回顾struts的核心技术，变得那么容易理解。昨天再一次调试开发struts实例，写完后一次性运行成功，哈哈，尽管很简单的程序，还是很爽！<br />    今天把validation框架又加入到struts，再次运行成功，不过化了不少时间调试，一个很低级的错误，action的配置中忘了加属性validate="true"，怪不得总是没有验证就直接转发。希望朋友们别犯同样的错误，呵呵！<br />    在西安已经呆了快半个月了，有点喜欢上这个城市，相比南方城市的柔美，这里多了几分人文的大气。很喜欢和这里的人们交谈，带着陕西口音的普通话总是很耐听；很喜欢这里的饮食，不需要化太多的钱，就能吃上地道的西安小吃；很喜欢这里的街道，直来直往，永远都不会迷路。不断挖掘西安的文明，将是上课之余一件令人兴奋的事。<img src ="http://www.blogjava.net/aaronbamboo/aggbug/105031.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aaronbamboo/" target="_blank">Aaronbamoo</a> 2007-03-20 16:47 <a href="http://www.blogjava.net/aaronbamboo/archive/2007/03/20/105031.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>