﻿<?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-kang5528</title><link>http://www.blogjava.net/kangbaole/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 18 Jun 2026 12:36:22 GMT</lastBuildDate><pubDate>Thu, 18 Jun 2026 12:36:22 GMT</pubDate><ttl>60</ttl><item><title>事务隔离级别</title><link>http://www.blogjava.net/kangbaole/articles/361148.html</link><dc:creator>小康</dc:creator><author>小康</author><pubDate>Thu, 13 Oct 2011 06:51:00 GMT</pubDate><guid>http://www.blogjava.net/kangbaole/articles/361148.html</guid><description><![CDATA[关系数据库标准中有四个事务隔离级别： 
<ul><li>未提交读(Read Uncommitted)：允许脏读，也就是可能读取到其他会话中未提交事务修改的数据</li><li>提交读(Read Committed)：只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别</li><li>可重复读(Repeated Read)：可重复读。在同一个事务内的查询都是事务开始时刻一致的，<strong>InnoDB默认级别</strong>。在SQL标准中，该隔离级别消除了不可重复读，但是还存在幻象读</li><li>串行读(Serializable)：完全串行化的读，每次读都需要获得表级共享锁，读写相互都会阻塞 </li></ul>
<p><br />MySQL中的事务隔离级别（默认为REPEATED-READ）<br />查看：<br />select @@tx_isolation;<br />select @@global.tx_isolation;<br /><br />修改：<br />set global transaction isolation level read committed;<br />set session transaction isolation level read committed;<br /><br /><br /><a href="http://blog.csdn.net/iyfd1979/article/details/6400118">http://blog.csdn.net/iyfd1979/article/details/6400118</a><br />MySQL InnoDB之事务与锁详解 <a href="http://www.mysqlops.com/2011/02/16/mysql-innodb-lock.html">http://www.mysqlops.com/2011/02/16/mysql-innodb-lock.html</a><br /></p><img src ="http://www.blogjava.net/kangbaole/aggbug/361148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangbaole/" target="_blank">小康</a> 2011-10-13 14:51 <a href="http://www.blogjava.net/kangbaole/articles/361148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mootools资源</title><link>http://www.blogjava.net/kangbaole/articles/361146.html</link><dc:creator>小康</dc:creator><author>小康</author><pubDate>Thu, 13 Oct 2011 06:37:00 GMT</pubDate><guid>http://www.blogjava.net/kangbaole/articles/361146.html</guid><description><![CDATA[<font color="#336600">Mootools 1.2系列教程目录：<a href="http://fdream.net/blog/article/605.aspx">http://fdream.net/blog/article/605.aspx</a></font><img src ="http://www.blogjava.net/kangbaole/aggbug/361146.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangbaole/" target="_blank">小康</a> 2011-10-13 14:37 <a href="http://www.blogjava.net/kangbaole/articles/361146.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript概述</title><link>http://www.blogjava.net/kangbaole/articles/361143.html</link><dc:creator>小康</dc:creator><author>小康</author><pubDate>Thu, 13 Oct 2011 06:17:00 GMT</pubDate><guid>http://www.blogjava.net/kangbaole/articles/361143.html</guid><description><![CDATA[<div>一个完整的JavaScript实现由三个不同部分组成：<br />1、核心（ECMAScript）<br />2、文档对象模型（DOM）<br />&nbsp;3、浏览器对象模型（BOM）<br /></div>
<div style="float: right"><br /></div><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/kangbaole/1.jpg" /><img src ="http://www.blogjava.net/kangbaole/aggbug/361143.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangbaole/" target="_blank">小康</a> 2011-10-13 14:17 <a href="http://www.blogjava.net/kangbaole/articles/361143.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring AOP</title><link>http://www.blogjava.net/kangbaole/articles/358153.html</link><dc:creator>小康</dc:creator><author>小康</author><pubDate>Wed, 07 Sep 2011 01:16:00 GMT</pubDate><guid>http://www.blogjava.net/kangbaole/articles/358153.html</guid><wfw:comment>http://www.blogjava.net/kangbaole/comments/358153.html</wfw:comment><comments>http://www.blogjava.net/kangbaole/articles/358153.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kangbaole/comments/commentRss/358153.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kangbaole/services/trackbacks/358153.html</trackback:ping><description><![CDATA[<div>Spring AOP<br /></div><img src ="http://www.blogjava.net/kangbaole/aggbug/358153.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangbaole/" target="_blank">小康</a> 2011-09-07 09:16 <a href="http://www.blogjava.net/kangbaole/articles/358153.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring IOC</title><link>http://www.blogjava.net/kangbaole/articles/357969.html</link><dc:creator>小康</dc:creator><author>小康</author><pubDate>Mon, 05 Sep 2011 01:08:00 GMT</pubDate><guid>http://www.blogjava.net/kangbaole/articles/357969.html</guid><wfw:comment>http://www.blogjava.net/kangbaole/comments/357969.html</wfw:comment><comments>http://www.blogjava.net/kangbaole/articles/357969.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kangbaole/comments/commentRss/357969.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kangbaole/services/trackbacks/357969.html</trackback:ping><description><![CDATA[<div>IOC：控制反转<br />DI：依赖注入<br /><br />IOC容器实例化的方式（启动Spring）<br />1、BeanFactory<br />2、ApplicationContext<br /><br /><br />
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">1、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">实例化</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">1）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">构造器</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">静态工厂方法</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">3）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">实例工厂</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">依赖注入</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'">1）</span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'">setter<font face="宋体">注入</font></span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">构造器注入</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">3）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">集合</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">4）</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">接口</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;</span><span style="font-family: 'Courier New';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&lt;</span><span style="font-family: 'Courier New';background: rgb(192,192,192); color: rgb(63,127,127); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(192,192,192)">property</span><span style="font-family: '宋体';background: rgb(192,192,192); color: rgb(63,127,127); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(192,192,192)">&gt;</span><span style="font-family: '宋体';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&nbsp;&nbsp;</span><span style="font-family: '宋体';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&nbsp;&nbsp;&nbsp;</span><span style="font-family: 'Courier New';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&lt;</span><span style="font-family: 'Courier New';background: rgb(192,192,192); color: rgb(63,127,127); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(192,192,192)">constructor-arg</span><span style="font-family: 'Courier New';background: rgb(255,255,255); color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(255,255,255)">&gt;</span><span style="font-family: '宋体';background: rgb(192,192,192); color: rgb(63,127,127); font-size: 10.5pt; mso-spacerun: 'yes'; mso-highlight: rgb(192,192,192)"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">3、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">的作用域</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">5<font face="宋体">种：</font><font face="Calibri">singleton</font><font face="宋体">、</font><font face="Calibri">prototype</font><font face="宋体">、</font><font face="Calibri">request</font><font face="宋体">、</font><font face="Calibri">session</font><font face="宋体">、application</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">1)</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">singleton&nbsp;<font face="宋体">默认类型，单例，</font><font face="Calibri">IOC</font><font face="宋体">容器初始化时，实例化</font><font face="Calibri">Bean</font><font face="宋体">，整个容器共享一个</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2)</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">prototype<font face="宋体">：每次访问</font><font face="Calibri">Bean</font><font face="宋体">都生成一个新的实例</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">4、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">的生命周期</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">1)</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">singleton<font face="宋体">类型的</font><font face="Calibri">Bean</font><font face="宋体">整个生命周期由</font><font face="Calibri">IOC</font><font face="宋体">容器管理；</font><font face="Calibri">prototype</font><font face="宋体">类型的</font><font face="Calibri">Bean</font><font face="宋体">由</font><font face="Calibri">IOC</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"> </span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">容器实例化后，不再托管，由应用程序负责。</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">2)</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">的&#8220;</font><font face="Calibri">init-method</font><font face="宋体">&#8221;指定的方法，在</font><font face="Calibri">Bean</font><font face="宋体">实例化时执行</font><font face="Calibri">(</font><font face="宋体">初始化</font><font face="Calibri">);</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: 21pt; margin-bottom: 0pt; margin-left: 42pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&#8220;<font face="Calibri">destory-method</font><font face="宋体">&#8221;指定的方法，在</font><font face="Calibri">Bean</font><font face="宋体">销毁时调用。</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注：<font face="Calibri">prototype</font><font face="宋体">类型的</font><font face="Calibri">Bean</font><font face="宋体">不会执行&#8220;</font><font face="Calibri">destory-method</font><font face="宋体">&#8221;方法。</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">5、</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">Bean<font face="宋体">自动装配</font><font face="Calibri">autowire</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;作用：</span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'">可以不需要显示指定依赖注入</span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">，由<font face="Calibri">IOC</font><font face="宋体">容器自动扫描</font><font face="Calibri">Bean</font><font face="宋体">定义注入</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;装配策略：<font face="Calibri">defualt(no)</font><font face="宋体">、</font><font face="Calibri">byName</font><font face="宋体">、</font><font face="Calibri">byType</font><font face="宋体">、</font><font face="Calibri">constructor</font><font face="宋体">、</font><font face="Calibri">autodetect</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;默认不使用自动装配<font face="Calibri">autowrie="defualt"&nbsp;<br /></font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;1)byName&nbsp;<font face="宋体">按</font><font face="Calibri">Bean</font><font face="宋体">的名称</font><font face="Calibri">(</font><font face="宋体">唯一</font><font face="Calibri">)</font><font face="宋体">注入；</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">&nbsp;&nbsp;&nbsp;2)byType&nbsp;&nbsp;<font face="宋体">按</font><font face="Calibri">Bean</font><font face="宋体">类型注入，</font></span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'">不允许有多个同类型的<font face="Calibri">Bean</font><font face="宋体">定义；</font></span><span style="font-family: '宋体'; font-size: 10.5pt; font-weight: bold; mso-spacerun: 'yes'"><o:p></o:p></span></p><!--EndFragment--></div><img src ="http://www.blogjava.net/kangbaole/aggbug/357969.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangbaole/" target="_blank">小康</a> 2011-09-05 09:08 <a href="http://www.blogjava.net/kangbaole/articles/357969.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Freemarker</title><link>http://www.blogjava.net/kangbaole/articles/354730.html</link><dc:creator>小康</dc:creator><author>小康</author><pubDate>Wed, 20 Jul 2011 09:21:00 GMT</pubDate><guid>http://www.blogjava.net/kangbaole/articles/354730.html</guid><wfw:comment>http://www.blogjava.net/kangbaole/comments/354730.html</wfw:comment><comments>http://www.blogjava.net/kangbaole/articles/354730.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kangbaole/comments/commentRss/354730.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kangbaole/services/trackbacks/354730.html</trackback:ping><description><![CDATA[<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p>1、</o:p></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">判断对象是否存在(null)<br />&nbsp;&nbsp;&nbsp;&nbsp;<font face="Times New Roman">expr?exsits&nbsp;&nbsp;&nbsp; </font><font face="宋体">返回</font><font face="Times New Roman">true/false</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expr??&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font face="宋体">返回</font><font face="Times New Roman">true/false<br /></font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p>&nbsp;&nbsp;&nbsp;&nbsp;<font face="Courier New">(user.name)?? 将测试user对象和user属性name是否存在null </font></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">设置默认值：<font face="Times New Roman">expr!default_expr&nbsp;&nbsp;</font><font face="宋体">若对象不存在返回</font><font face="Times New Roman">default_expr<br /><br />2、空值处理方法<br />1）对变量设置默认值：expr!default_expr&nbsp;&nbsp;<br />2）属性classic_compatible=true （若变量为null则替换为空字符串）<br />&nbsp;&nbsp;&nbsp;&nbsp; a.在ftl文件前加入&lt;#setting classic_compatible=true&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp; b.class目录下添加freemarker.properties文件：加入classic_compatible=true (struts或spring环境)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.spring配置：<br />&lt;bean id="freemarkerConfig" <br />&nbsp;&nbsp;&nbsp; class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"&gt; <br />&nbsp; &lt;property name="freemarkerSettings"&gt; <br />&nbsp;&nbsp;&nbsp; &lt;props&gt; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prop key="classic_compatible"&gt;true&lt;/prop&gt; <br />&nbsp;&nbsp;&nbsp; &lt;/props&gt; <br />&nbsp; &lt;/property&gt; <br />&lt;/bean&gt;<br /></font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; margin-bottom: 0pt" class="p0"><span style="font-family: 'Times New Roman'; color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'"><br />B</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 10.5pt; mso-spacerun: 'yes'">oolean<font face="宋体">类型的值不能直接输出</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'">（无法直接转换成<font face="Times New Roman">string</font><font face="宋体">类型）</font></span><span style="font-family: '宋体'; font-size: 10.5pt; mso-spacerun: 'yes'"><o:p></o:p></span></p>
<p style="margin-top: 0pt; text-indent: -63pt; margin-bottom: 0pt; margin-left: 72pt" class="p16"><span style="font-family: '宋体'; font-size: 12pt; mso-spacerun: 'yes'">格式化输出：</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 12pt; mso-spacerun: 'yes'">boolean_expr?string(</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 12pt; mso-spacerun: 'yes'">&#8220;</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 12pt; mso-spacerun: 'yes'">yes</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 12pt; mso-spacerun: 'yes'">&#8221;</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 12pt; mso-spacerun: 'yes'">,</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 12pt; mso-spacerun: 'yes'">&#8221;</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 12pt; mso-spacerun: 'yes'">no</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 12pt; mso-spacerun: 'yes'">&#8221;</span><span style="font-family: '宋体'; color: rgb(0,128,128); font-size: 12pt; mso-spacerun: 'yes'">)&nbsp;&nbsp;<br /></span></p><!--EndFragment-->  <img src ="http://www.blogjava.net/kangbaole/aggbug/354730.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangbaole/" target="_blank">小康</a> 2011-07-20 17:21 <a href="http://www.blogjava.net/kangbaole/articles/354730.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FreeMarker作为SpringMVC的视图</title><link>http://www.blogjava.net/kangbaole/articles/354726.html</link><dc:creator>小康</dc:creator><author>小康</author><pubDate>Wed, 20 Jul 2011 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/kangbaole/articles/354726.html</guid><wfw:comment>http://www.blogjava.net/kangbaole/comments/354726.html</wfw:comment><comments>http://www.blogjava.net/kangbaole/articles/354726.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kangbaole/comments/commentRss/354726.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kangbaole/services/trackbacks/354726.html</trackback:ping><description><![CDATA[1、freemarker配置<br />&lt;bean id="freemarkerConfig"&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="templateLoaderPath" value="/WEB-INF/views/"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="freemarkerSettings"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;props&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;prop key="defaultEncoding"&gt;UTF-8&lt;/prop&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prop key="url_escaping_charset"&gt;UTF-8&lt;/prop&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prop key="classic_compatible"&gt;true&lt;/prop&gt;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/props&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/property&gt;<br />&lt;/bean<br /><br />2、视图解析器<br />&nbsp;&lt;bean id="viewResolver"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp; class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="cache" value="true"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="prefix" value=""/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="suffix" value=".ftl"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="exposeSpringMacroHelpers" value="true"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="contentType" value="text/html;charset=UTF-8" /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;property name="exposeRequestAttributes" value="true" /&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="exposeSessionAttributes" value="true" /&gt;<br />&lt;/bean&gt;  <img src ="http://www.blogjava.net/kangbaole/aggbug/354726.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kangbaole/" target="_blank">小康</a> 2011-07-20 16:54 <a href="http://www.blogjava.net/kangbaole/articles/354726.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>