<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Cheney Shue</title><subtitle type="text">LAMP, Oracle ADF &amp; SOA, 数据仓库, 商务智能, 数据挖掘, 企业绩效管理</subtitle><id>http://feed.cnblogs.com/blog/u/24273/rss</id><updated>2011-10-28T00:56:17Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/24273/rss"/><entry><id>http://www.cnblogs.com/esestt/archive/2011/10/28/2227240.html</id><title type="text">无题</title><summary type="text">在机场候机时买了本乔布斯的传记，机上看了前几章。看后不由感慨中美文化和教育模式的差异，照中国这种模式恐怕永远也出不了一个乔布斯。</summary><published>2011-10-28T00:56:00Z</published><updated>2011-10-28T00:56:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2011/10/28/2227240.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2011/10/28/2227240.html"/><content type="html">&lt;p&gt;在机场候机时买了本乔布斯的传记，机上看了前几章。看后不由感慨中美文化和教育模式的差异，照中国这种模式恐怕永远也出不了一个乔布斯。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/esestt/aggbug/2227240.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2011/10/28/2227240.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/esestt/archive/2011/10/11/2207452.html</id><title type="text">Oracle EM 12c</title><summary type="text">这次是12c，不是12g或者12 fusion，Oracle又有了新噱头——Cloud。安装折腾了两个小时，粗略看了下界面，UI风格总算统一了。</summary><published>2011-10-11T08:19:00Z</published><updated>2011-10-11T08:19:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2011/10/11/2207452.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2011/10/11/2207452.html"/><content type="html">&lt;p&gt;这次是12c，不是12g或者12 fusion，Oracle又有了新噱头&amp;#8212;&amp;#8212;Cloud。安装折腾了两个小时，粗略看了下界面，UI风格总算统一了。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/esestt/oem01.png" alt="" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/esestt/oem02.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://images.cnblogs.com/cnblogs_com/esestt/oem03.png" alt="" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/esestt/aggbug/2207452.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2011/10/11/2207452.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/esestt/archive/2011/06/09/2076299.html</id><title type="text">近况</title><summary type="text">4月份到桂林待了十来天。5月份办了件大事。6月底要考试，公司组织培训没去，心里没底，要努力备考啦。最近老婆迷上了网球，差不多每天晚上都要陪她玩一阵。电信10M光纤免费体验到期，被逼升级到E9套餐。摄影书籍买了好几本，镜头投了不少钱，但也没见单反拍出了的照片比傻瓜机好多少。Kindle DX很棒，打印机基本废了。Over.</summary><published>2011-06-09T05:27:00Z</published><updated>2011-06-09T05:27:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2011/06/09/2076299.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2011/06/09/2076299.html"/><content type="html">&lt;p&gt;4月份到桂林待了十来天。&lt;/p&gt;&lt;p&gt;5月份办了件大事。&lt;/p&gt;&lt;p&gt;6月底要考试，公司组织培训没去，心里没底，要努力备考啦。&lt;/p&gt;&lt;p&gt;最近老婆迷上了网球，差不多每天晚上都要陪她玩一阵。&lt;/p&gt;&lt;p&gt;电信10M光纤免费体验到期，被逼升级到E9套餐。&lt;/p&gt;&lt;p&gt;摄影书籍买了好几本，镜头投了不少钱，但也没见单反拍出了的照片比傻瓜机好多少。&lt;/p&gt;&lt;p&gt;Kindle DX很棒，打印机基本废了。&amp;nbsp;&lt;/p&gt;&lt;p&gt;Over.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/esestt/aggbug/2076299.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2011/06/09/2076299.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/esestt/archive/2011/06/07/2074654.html</id><title type="text">无题</title><summary type="text">很久就没更新博客了。在美国时玩上了facebook，facebook真是个好东西。</summary><published>2011-06-07T14:01:00Z</published><updated>2011-06-07T14:01:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2011/06/07/2074654.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2011/06/07/2074654.html"/><content type="html">很久就没更新博客了。在美国时玩上了facebook，facebook真是个好东西。&lt;img src="http://www.cnblogs.com/esestt/aggbug/2074654.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2011/06/07/2074654.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/esestt/archive/2010/08/29/1811862.html</id><title type="text">JSF or PHP or ADF?!!  :(</title><summary type="text">最近要写一个WEB程序，PHP, JSF 2.0, ADF三种技术，考虑了半天都没确定用哪一种。三种都各有优缺点，真tm郁闷。</summary><published>2010-08-29T06:24:00Z</published><updated>2010-08-29T06:24:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2010/08/29/1811862.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2010/08/29/1811862.html"/><content type="html">最近要写一个WEB程序，PHP, JSF 2.0, ADF三种技术，考虑了半天都没确定用哪一种。三种都各有优缺点，真tm郁闷。&lt;img src="http://www.cnblogs.com/esestt/aggbug/1811862.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2010/08/29/1811862.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/esestt/archive/2010/07/22/1782803.html</id><title type="text">ODI 11g再次让我失望……</title><summary type="text">相对10g没什么大变化。Interface不像OWB那样有很多组件可用，只能简单的从source到target，复杂的转换就要interface互相嵌套完成。针对某类数据库特性的处理就需要写km了。Package的流程控制功能不强，比如loop操作，只能在Procedure中完成。Procedure和KM基本上就算是coding了。所以说ODI的作用局限在不同类型的数据库间的集成，复杂的转换还是装...</summary><published>2010-07-22T02:27:00Z</published><updated>2010-07-22T02:27:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2010/07/22/1782803.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2010/07/22/1782803.html"/><content type="html">&lt;p&gt;相对10g没什么大变化。Interface不像OWB那样有很多组件可用，只能简单的从source到target，复杂的转换就要interface互相嵌套完成。针对某类数据库特性的处理就需要写km了。Package的流程控制功能不强，比如loop操作，只能在Procedure中完成。Procedure和KM基本上就算是coding了。&lt;/p&gt;&lt;p&gt;所以说ODI的作用局限在不同类型的数据库间的集成，复杂的转换还是装载到Oracle数据库后使用OWB完成。但目前ODI似乎没有提供直接调用OWB的tool，而且ELT这类做法在处理大数据量时不是很可靠，OWB产生的package有冗余的操作，不如自己写的sql那么高效。&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/esestt/aggbug/1782803.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2010/07/22/1782803.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/esestt/archive/2010/07/22/1782701.html</id><title type="text">从徐汇到虹口</title><summary type="text">从万体馆搬到虹口已经快4个月，期间身份证还被偷了，新办的户口地址已经变成虹口区，从此就被打上虹口的烙印。在虹口的这几个月中，明显感觉到虹口和徐汇是两个完全不同的地方。虹口像是60岁的老人，而徐汇是30岁的中青年。这种差异主要体现在居民年龄结构和功能设施方面。虹口这边老小区很多，在街上到处都是闲逛的阿姨大妈。菜市里、小区里常常看到有人吵架。曲阳家乐福装水果的免费塑料袋经常都被贪便宜的小市民拿光，还有一次看到工作人员趁人不注意，扯了一大把的袋子往兜里塞。总之，虹口区闲人多，乱七八糟的事情也多。另一方面，虽然虹口离市中心很近，但一直发展不起来。四川北路商业区没什么特色，周围都是老生活区，消费层次不高</summary><published>2010-07-22T00:59:00Z</published><updated>2010-07-22T00:59:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2010/07/22/1782701.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2010/07/22/1782701.html"/><content type="html">&lt;p&gt;从万体馆搬到虹口已经快4个月，期间身份证还被偷了，新办的户口地址已经变成虹口区，从此就被打上虹口的烙印。&lt;/p&gt;&#xD;
&lt;p&gt;在虹口的这几个月中，明显感觉到虹口和徐汇是两个完全不同的地方。虹口像是60岁的老人，而徐汇是30岁的中青年。这种差异主要体现在居民年龄结构和功能设施方面。&lt;/p&gt;&#xD;
&lt;p&gt;虹口这边老小区很多，在街上到处都是闲逛的阿姨大妈。菜市里、小区里常常看到有人吵架。曲阳家乐福装水果的免费塑料袋经常都被贪便宜的小市民拿光，还有一次看到工作人员趁人不注意，扯了一大把的袋子往兜里塞。总之，虹口区闲人多，乱七八糟的事情也多。&lt;/p&gt;&#xD;
&lt;p&gt;另一方面，虽然虹口离市中心很近，但一直发展不起来。四川北路商业区没什么特色，周围都是老生活区，消费层次不高，拆迁改造困难。还好临近的杨浦有个五角场，上次去五角场真让我大吃一惊，想不到在我毕业后几年间五角场已经建设得如此&amp;#8220;高档&amp;#8221;了。高楼虽然有了，但还缺人气，周边的商业环境远不如徐家汇成熟，五角场隔了一条街过去感觉还是乡下地方。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/esestt/aggbug/1782701.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2010/07/22/1782701.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/esestt/archive/2010/07/08/1774029.html</id><title type="text">JSF 2.0碰到一个比较纠结的问题——上传文件</title><summary type="text">JSF 1.2之前还可以用MyFaces的组件，2.0还是个新玩意，只能靠自己。开始的想法是自己做一个上传文件组件，组件中封装&amp;lt;input type="file" /&amp;gt;，然后用commons-fileupload解析ServletRequest。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http:...</summary><published>2010-07-08T15:56:00Z</published><updated>2010-07-08T15:56:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2010/07/08/1774029.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2010/07/08/1774029.html"/><content type="html">&lt;p&gt;JSF 1.2之前还可以用MyFaces的组件，2.0还是个新玩意，只能靠自己。&lt;/p&gt;&lt;p&gt;开始的想法是自己做一个上传文件组件，组件中封装&amp;lt;input type="file" /&amp;gt;，然后用commons-fileupload解析ServletRequest。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('75d0f836-876d-4080-8665-45107778a9e4')"&gt;&lt;img src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"  id="code_img_opened_75d0f836-876d-4080-8665-45107778a9e4" onclick="cnblogs_code_hide('75d0f836-876d-4080-8665-45107778a9e4',event)" style="display: none;"&gt;&lt;div id="cnblogs_code_open_75d0f836-876d-4080-8665-45107778a9e4" &gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;org.apache.commons.fileupload.&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;javax.faces.context.&lt;/span&gt;&lt;span style="color: #000000;"&gt;*&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;javax.servlet.http.HttpServletRequest;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;import&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;java.util.List;&lt;br /&gt;&lt;br /&gt;@FacesComponent(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;uploadFile.UIUpload&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;UIUpload&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;extends&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;UIInput&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;UIUpload()&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;.setRendererType(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;encodeBegin(FacesContext&amp;nbsp;fc)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;throws&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;IOException&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ResponseWriter&amp;nbsp;rw&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;fc.getResponseWriter();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;clientId&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;.getClientId(fc);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rw.startElement(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;input&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rw.writeAttribute(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;type&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;file&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rw.writeAttribute(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;name&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;clientId&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;.file&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rw.endElement(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;input&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;decode(FacesContext&amp;nbsp;fc)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ExternalContext&amp;nbsp;external&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;fc.getExternalContext();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HttpServletRequest&amp;nbsp;request&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(HttpServletRequest)&amp;nbsp;external.getRequest();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;String&amp;nbsp;clientId&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;getClientId(fc);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;(ServletFileUpload.isMultipartContent(request))&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FileItemFactory&amp;nbsp;factory&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DiskFileItemFactory();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ServletFileUpload&amp;nbsp;upload&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;ServletFileUpload(factory);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;try&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&amp;nbsp;fileItems&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;upload.parseRequest(request);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;......&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;catch&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(FileUploadException&amp;nbsp;ex)&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;......&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;上传文件的form需要有属性enctype="multipart/form-data"，就像下面这样。cc:uploadfile就是上面那个上传文件的组件。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;h:form&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;enctype&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="multipart/form-data"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;cc:uploadfile&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;h:commandButton&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;value&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="Submit"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;h:form&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;可是JSF在生成html时，会向form中加入一些&amp;lt;input type="hidden" /&amp;gt;的标签，用来恢复组件树。而&lt;span style="color: #ff0000;"&gt;enctype&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="multipart/form-data"&lt;/span&gt;的form是没法正常提交这些input的，所以组件的decode方法根本就没法执行。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;那么现在唯一可行的方法就是通过system event来处理上传文件。 &lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;f:event&amp;nbsp;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="preRenderView"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;listener&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="#{bean.getPostFile}"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;JSF已经发展到2.0了，连&amp;lt;input type="file" /&amp;gt;这样最基本的html标签都没有解决，不能不说是个遗憾。除了这个问题外，2.0的改进还是挺大的，我个人最喜欢两点：一是支持get的form和url传值；二是el 2.2的method支持参数。希望Trinidad 2.0和对应的ADF不要让我等太久。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/esestt/aggbug/1774029.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2010/07/08/1774029.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/esestt/archive/2010/05/31/1748158.html</id><title type="text">无题</title><summary type="text">话说最近在折腾HTPC，XBMC搞了半天，还是换回微软的Media Center。XBMC不是很成熟，bug挺过，有时换皮肤都退出。遥控器的keymap改后总是不够完美，市面上也没有xbmc专用的遥控。现在回归一点&amp;#8212;&amp;#8212;简单既是美，我只要听听音乐、看看片子就够了。以前买的antec htpc机箱用不上了，屁股接上线后深度超出50cm了，电视柜放不下。现在只能塞到杂物柜了积灰。...</summary><published>2010-05-31T05:46:00Z</published><updated>2010-05-31T05:46:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2010/05/31/1748158.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2010/05/31/1748158.html"/><content type="html">&lt;p&gt;话说最近在折腾HTPC，XBMC搞了半天，还是换回微软的Media Center。XBMC不是很成熟，bug挺过，有时换皮肤都退出。遥控器的keymap改后总是不够完美，市面上也没有xbmc专用的遥控。&lt;/p&gt;&lt;p&gt;现在回归一点&amp;#8212;&amp;#8212;简单既是美，我只要听听音乐、看看片子就够了。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;以前买的antec htpc机箱用不上了，屁股接上线后深度超出50cm了，电视柜放不下。现在只能塞到杂物柜了积灰。&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/esestt/computer/01.jpg" width="400" height="300" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;现在摆在电视柜上的一台电脑，cpu是amd atholn x2 240，七彩虹785g的主板，4gb内存，板载显卡和声卡，一块希捷硬盘，装windows 7做htpc。 这个富士康的机箱非常紧凑，光驱都不装了。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/esestt/computer/03.jpg" width="300" height="225" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;进Windows 7空闲时功耗65w左右。不过windows 7进程多，就算空闲，后台也会有一些操作，所以功耗浮动比较大，经常会跳到80w这样。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/esestt/computer/04.jpg" width="200" height="272" /&gt;&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;再装了一台机器做我的开发服务器，intel i7 860的cpu，华硕p7p55-m的主板，4个西部数据企业硬盘，8gb内存，1个nvidia g210显卡。同样是小主板，内部走线挺乱的。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/esestt/computer/06.jpg" width="400" height="300" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/esestt/computer/07.jpg" width="300" height="369" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;装了RHEL 5.5，真的太喜欢rhel了，简单高效。换成windows不适应，现在的windows系统越来越麻烦了，文件夹共享都很繁琐，php的pecl插件还要自己编译，怪不得很多人都还喜欢停留在xp。&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;后台启动oracle db 11gr2，weblogic，oid，webcenter，soa，apache，mysql情况下，空闲功耗只有70w左右。比起上面那套amd平台来说，这个还多出了3个硬盘，多了个光驱。如果同等条件下，那么intel的4核就要比amd双核省电了。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/esestt/computer/08.jpg" width="200" height="267" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;最后show一下我的下载机，buffalo的路由器加移动硬盘下载，够省电的了吧。&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/esestt/computer/10.jpg" width="300" height="266" /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/esestt/aggbug/1748158.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2010/05/31/1748158.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/esestt/archive/2010/05/22/1741318.html</id><title type="text">Windows or Linux</title><summary type="text">这两天要装一台电脑，作为Home Server用。一方面可以用媒体中心，共享服务等；另一方面作为我的开发平台，装数据库和中间件。最初选定的系统是linux，因为oracle的战略平台是linux，很多软件第一优先就是linux的版本，比如现在的em gc 11g目前还没有windows版本，database 11gr2也是出来半年以后才有windows版。而且从性能上看，windows并不可靠，w...</summary><published>2010-05-21T17:09:00Z</published><updated>2010-05-21T17:09:00Z</updated><author><name>Cheney Shue</name><uri>http://www.cnblogs.com/esestt/</uri></author><link rel="alternate" href="http://www.cnblogs.com/esestt/archive/2010/05/22/1741318.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/esestt/archive/2010/05/22/1741318.html"/><content type="html">&lt;p&gt;这两天要装一台电脑，作为Home Server用。一方面可以用媒体中心，共享服务等；另一方面作为我的开发平台，装数据库和中间件。&lt;/p&gt;&#xD;
&lt;p&gt;最初选定的系统是linux，因为oracle的战略平台是linux，很多软件第一优先就是linux的版本，比如现在的em gc 11g目前还没有windows版本，database 11gr2也是出来半年以后才有windows版。而且从性能上看，windows并不可靠，win 7一空闲时硬盘灯就狂闪，它后台需要维护的工作太多了。&lt;/p&gt;&#xD;
&lt;p&gt;当然，选定了linux，注定在桌面娱乐方面要舍弃一些功能，比如媒体中心只能用xbmc了，共享服务只能用samba，windows媒体服务和家庭组也没有了&amp;#8230;&amp;#8230;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;不过，在这两天linux的安装，真是可以用杯具来形容。开始选择的distribition是fedora，主要是看中ext4，而且跟rhel不会差太远。fedora 13延期了，只好用12，安装好后第一次启动，居然提示PLL limits table错误信息，重装，问题照旧。无语&amp;#8230;&amp;#8230;&lt;/p&gt;&#xD;
&lt;p&gt;没办法，换成ubuntu，虽然知道ubuntu跟rhel不属于一路的，oracle的compatibility matrix上也从来没出现过ubuntu，但我还是抱着试试看的心态试试。最新的10.04，第一次安装，居然无法在intel的fake raid上创建分区，google一下发现是个bug，之前的9.10就没有这个问题。无奈换成software raid，用alternate cd安装后启动，居然又是error，missing modules。&lt;/p&gt;&#xD;
&lt;p&gt;换回最熟悉的rhel，安装一起顺利。But，乐之邦的声卡居然无法出声，能识别via envy ice1724芯片，但就是无法出声。安装最新的alsa，问题依旧。最后只能把创新的x-fi换上去。&lt;/p&gt;&#xD;
&lt;p&gt;接下来就是xbmc了，根据官方的wiki，step by step，还是没能避免问题，不断更新各种pakage。rhel是比较保守的，package之间互相依赖，版本要求新的，只能拿fedora的package充数。最后rpmlib这个package实在找不到了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;放弃了，还是换回windows吧，linux拜拜~&lt;/p&gt;&lt;img src="http://www.cnblogs.com/esestt/aggbug/1741318.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/esestt/archive/2010/05/22/1741318.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
