﻿<?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/liuspring/</link><description>java .net</description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 21:17:13 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 21:17:13 GMT</pubDate><ttl>60</ttl><item><title>maven的helloword</title><link>http://www.blogjava.net/liuspring/archive/2011/04/18/348496.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Mon, 18 Apr 2011 08:09:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2011/04/18/348496.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/348496.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2011/04/18/348496.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/348496.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/348496.html</trackback:ping><description><![CDATA[<p>最近在学习如何使用maven，做了一个demo(基于S2S整合)，总结一下与大家分享，期待与大家讨论以期快速进步。 <p>一、maven介绍 <p>1、maven是什么 <p><a href="http://maven.apache.org/">http://maven.apache.org/</a><br>官方解释：Maven是一个项目管理工具，它包含了一个项目对象模型 (Project Object Model)，一组标准集合，一个项目生命周期(Project Lifecycle)，一个依赖管理系统(Dependency Management System)，和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 <p>2、使用maven有什么好处，解决什么问题 <p>jar统一管理了： <p>如果建立了一个本地的jar仓库，那么所有人都是从仓库里面下载jar，拷贝项目时只需要copy几K的源码即可！其次，依然是仓库，使得每个人的jar版本都是一致的，不会出现因为版本不同，引起的莫名其妙的错误。<br>项目的自动化： <p>只需要mvn package命令，在eclipse里面，看run里面，只需要选择就行了！它会自动的从编译，测试开始，一直到打包，自动的运行，保证你的包没有问题。 <p>我们在做多个不同的Java项目时，每个项目所用到的库文件基本都是大同小异的，通常的做法是每个项目下面都会复制一份这些库文件，甚至会把这些库文件都提交到vss上去，这样带来的问题不仅是增大了项目占用的硬盘空间，而且也使包管理很混乱。 <p>我们可以这样查看jar包的依赖关系，是不是很爽？！<br><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_4.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_1.png" width="903" height="431"></a> <p>还可以单元测试覆盖率报表： <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_6.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_2.png" width="601" height="169"></a> <p>2、helloword <p>1、下载Maven 附件中的maven3.jar 解压到任意目录 <p>2、安装eclipse插件m2eclipse <p>方式一：在线安装 更新地址是：<a href="http://m2eclipse.sonatype.org/sites/m2e">http://m2eclipse.sonatype.org/sites/m2e</a><br>方式二：本地安装 help--&gt;install new softeware--&gt;add--&gt;name填写maven--&gt;archive..--&gt;jar:file:/../m2e.zip!/--&gt;ok<br>安装完成重启eclipse，在Window--&gt;Preferences--&gt;Maven下配置 <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_8.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_3.png" width="633" height="622"></a> <p>禁用eclipse启动时更新maven index 主要是每次eclipse启动时都更新很烦人 <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_10.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_4.png" width="694" height="569"></a> <p>添加自己的maven <p>3、新建maven项目 <p>按照下图步骤 <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_12.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_5.png" width="649" height="583"></a> <ul> <li>groupId定义了项目属于哪个组，这个组往往和项目所在的组织或公司存在关联。譬如在googlecode上建立了一个名为myapp的项目，那么groupId就应该是com.googlecode.myapp. <li>artifactId定义了当前Maven项目在组中唯一的ID，groupId为com.googlecode.myapp的例子中，你可能会为不同的子项目（模块）分配artifactId，如myapputil、myappdomain、myappweb等。 <li>version指定了项目当前的版本——1.0SNAPSHOT。SNAPSHOT意为快照，说明该项目还处于开发中,是不稳定的版本。随着项目的发展，version会不断更新，如升级为1.0、1.1SNAPSHOT、1.1、2.0等。 <li>name元素声明了一个对于用户更为友好的项目名称</li></ul> <p>点击Finish完成 <p>4、maven项目结构 <p>下图为基于maven项目结构，这里跟我们以前的项目结构很不一样，以前的项目结构约定俗成的只有两块 一个src 一个webRoot，当然这些都可以随意配置，比如WebRoot有的叫WebContent <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_14.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_6.png" width="287" height="264"></a><br>这里maven倡导<strong>约定优于配置</strong>，maven的约定就是以下目录结构<br>src/main/java 下存放java类<br>src/main/webapp 下存放页面文件(需要手动创建)<br>src/main/resources 下存放资源文件<br>src/test/java 下存放单元测试代码<br>src/test/resources 下存放测试资源文件 <p>5、添加jar包 <p>只需维护pom.xml<br>比如添加struts2-core<br>&lt;dependency&gt;<br>&lt;groupId&gt;org.apache.struts&lt;/groupId&gt;<br>&lt;artifactId&gt;struts2-core&lt;/artifactId&gt;<br>&lt;version&gt;2.0.11.2&lt;/version&gt;<br>&lt;/dependency&gt; <p>我在172.20.66.230上部署了一个maven仓库，访问地址<a href="http://172.20.66.230:8081/nexus/">http://172.20.66.230:8081/nexus/</a> <p>maven会根据pom.xml中的配置访问230的仓库下载对应的jar source 以及doc，下载到哪？这要看maven3/conf/settings.xml 55: <p>&lt;localRepository&gt;F:/Maven3/repository&lt;/localRepository&gt; <p>6、编写代码 <p>附件中有一个struts2+spring 的demo，解压然后import eclipse <p>在项目名上右键 run as --&gt;Run Configurations <p><a href="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_16.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/liuspring/Windows-Live-Writer/mavenhelloword_E0C3/image_thumb_7.png" width="736" height="617"></a> <p>按图配置，点击Run即可。浏览器中访问<a href="http://localhost:8080/MavenSSH/">http://localhost:8080/MavenSSH/</a> <p>Maven运行的生命周期 <ul> <li> <p>复制src/main/resources资源文件到输出目录</p> <li> <p>编译src/main/java下的源代码</p> <li> <p>复制src/test/resources下的测试用资源文件到测试输出目录</p> <li> <p>编译src/test/java下的测试用例</p> <li> <p>运行测试用例</p> <li> <p>打包生成</p></li></ul> <p>=========================== <ul> <li> <p>以上是一个简单的例子，只是用它获取依赖的jar包 。maven还有很多诸如项目管理方面的功能，比如文档编制、发布管理、配置管理...</p> <li> <p>第一个次运行项目会比较慢，因为要下载jar包。</p> <li> <p>MavenSSH.rar是一个struts2与spring集成的例子，页面用到了sitemesh div+css 也值得学习</p> <li> <p>项目debug是运行在jetty（类似于tomcat的容器）中。</p></li></ul><img src ="http://www.blogjava.net/liuspring/aggbug/348496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2011-04-18 16:09 <a href="http://www.blogjava.net/liuspring/archive/2011/04/18/348496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>部署到GAE时中途退出后引起的问题</title><link>http://www.blogjava.net/liuspring/archive/2010/11/15/338061.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Mon, 15 Nov 2010 01:55:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/11/15/338061.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/338061.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/11/15/338061.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/338061.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/338061.html</trackback:ping><description><![CDATA[<p>如果部署GAE时正在upload files时退出，下次部署时会报错</p> <p>Another transaction by user is already in progress for this app and major version. That user can undo the transaction with appcfg.py's "rollback" command</p> <p>&nbsp;</p> <p>找到eclipse中的GAE SDK目录</p> <p>如：D:\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.8_1.3.8.v201010161055\appengine-java-sdk-1.3.8\bin</p> <p>&nbsp;</p> <p>执行命令 </p> <p>appcfg.cmd rollback 后面跟gae项目war所在目录 </p> <p>如 appcfg.cmd rollback D:/spring/eclipse_workspace/taobaoke/war</p> <p>&nbsp;</p> <p>执行：</p> <p>********************************************************<br>Warning: Future versions of the Dev App Server will require Java 1.6 or later. P<br>lease upgrade your JRE.<br>********************************************************<br>Reading application configuration data...<br>2010-11-15 9:34:23 com.google.apphosting.utils.config.AppEngineWebXmlReader read<br>AppEngineWebXml<br>信息: Successfully processed D:/spring/eclipse_workspace/taobaoke/war\WEB-INF/ap<br>pengine-web.xml<br>2010-11-15 9:34:23 com.google.apphosting.utils.config.AbstractConfigXmlReader re<br>adConfigXml<br>信息: Successfully processed D:/spring/eclipse_workspace/taobaoke/war\WEB-INF/we<br>b.xml<br>2010-11-15 9:34:23 com.google.apphosting.utils.config.AbstractConfigXmlReader re<br>adConfigXml<br>信息: Successfully processed D:/spring/eclipse_workspace/taobaoke/war\WEB-INF/cr<br>on.xml<br>Beginning server interaction for taokeapp...<br>0% Rolling back the update.<br>Success.<br>Cleaning up temporary files...</p><img src ="http://www.blogjava.net/liuspring/aggbug/338061.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-11-15 09:55 <a href="http://www.blogjava.net/liuspring/archive/2010/11/15/338061.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在GAE上简单实现了一个淘宝客</title><link>http://www.blogjava.net/liuspring/archive/2010/10/21/335768.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Thu, 21 Oct 2010 03:33:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/10/21/335768.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/335768.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/10/21/335768.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/335768.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/335768.html</trackback:ping><description><![CDATA[<p>在网上无意搜到一个<a href="http://www.bangnitao.net/" target="_blank">用Ext实现的淘宝客</a>，恩 ，咱用GWT做一个车轮</p> <p>下了淘宝的 <a href="http://dl.open.taobao.com/sdk/%E6%96%B0%E7%89%88sdk.zip" target="_blank">SDK for java</a>就开干 参考<a href="http://my.open.taobao.com/apidoc/index.htm" target="_blank">API文档</a>按部就班</p> <p>在淘宝的沙箱里测试，很顺利，乘胜前进，到正式环境下测试</p> <p>问题来了 </p> <p>invalid signature</p> <p>网上搜了一通，有说时间戳不对，果不其然，GAE使用的是标准时间，整整差了8小时，遂在获得的当前时间上加了8小时，OK</p> <p>invalid signature 可能的另一个原因是APP_KEY 或 APP_SERCET不正确，仔细检查</p> <p>&nbsp;</p> <p>调用 taobao.item.get</p> <p>&nbsp;</p> <p>是</p> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source"><span style="font-style: italic; color: rgb(0,136,0)">1 </span><span style="color: rgb(0,0,0)">TaobaoClient</span> <span style="color: rgb(0,0,0)">client</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">DefaultTaobaoClient</span>(<span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">SANDBOX_URL</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">APP_KEY</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">APP_SERCET</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">2 </span><span style="color: rgb(0,0,0)">ItemcatsGetRequest</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">ItemcatsGetRequest</span>();<br><span style="font-style: italic; color: rgb(0,136,0)">3 </span><span style="color: rgb(0,0,0)">java</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">util</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">Calendar</span> <span style="color: rgb(0,0,0)">c</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">java</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">util</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">Calendar</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getInstance</span>(<span style="color: rgb(0,0,0)">TimeZone</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getTimeZone</span>(<span style="color: rgb(0,0,255)">"GMT+8"</span>));<br><span style="font-style: italic; color: rgb(0,136,0)">4 </span><span style="color: rgb(0,0,0)">c</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">add</span>(<span style="color: rgb(0,0,0)">Calendar</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">HOUR</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,255)">8</span>);<br><span style="color: rgb(248,16,176)">5 </span><span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setTimestamp</span>(<span style="color: rgb(0,0,0)">c</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getTime</span><span style="color: rgb(0,0,0)">().</span><span style="color: rgb(255,0,0)">getTime</span>()) ;<br><span style="font-style: italic; color: rgb(0,136,0)">6 </span><span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setParentCid</span>(<span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">Long</span>(<span style="color: rgb(0,0,255)">0</span>));<br><span style="font-style: italic; color: rgb(0,136,0)">7 </span><span style="color: rgb(0,0,0)">ItemcatsGetResponse</span> <span style="color: rgb(0,0,0)">response</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">client</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">execute</span>(<span style="color: rgb(0,0,0)">req</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">8 </span><span style="color: rgb(0,0,128); font-weight: bold">return</span> <span style="color: rgb(0,0,0)">response</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getItemCats</span>();<br></div> <p>&nbsp;</p> <h3>调用 taobao.taobaoke.items.get </h3> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source"><span style="font-style: italic; color: rgb(0,136,0)"></span>&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source"><span style="font-style: italic; color: rgb(0,136,0)">1</span> <span style="color: rgb(0,0,0)">TaobaoClient</span> <span style="color: rgb(0,0,0)">client</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">DefaultTaobaoClient</span>(<span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">SANDBOX_URL</span><span style="color: rgb(0,0,0)">,</span> <span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">APP_KEY</span><span style="color: rgb(0,0,0)">,</span><span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">APP_SERCET</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">2</span> <span style="color: rgb(0,0,0)">TaobaokeItemsGetRequest</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,128); font-weight: bold">new</span> <span style="color: rgb(0,0,0)">TaobaokeItemsGetRequest</span>();<br><span style="font-style: italic; color: rgb(0,136,0)">3</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setFields</span>(<span style="color: rgb(0,0,255)">"num_iid,title,nick,pic_url,price,click_url,commission,commission_rate,commission_num,commission_volume,shop_click_url,seller_credit_score,item_location,volume,taobaoke_cat_click_url,keyword_click_url"</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">4</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setCid</span>(<span style="color: rgb(0,0,0)">Long</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">parseLong</span>(<span style="color: rgb(0,0,0)">cid</span>));<br><span style="color: rgb(248,16,176)">5</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setNick</span>(<span style="color: rgb(0,0,0)">TaobaokeConstant</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">NICK</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">6</span> <span style="color: rgb(0,0,0)">req</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">setSort</span>(<span style="color: rgb(0,0,255)">"commissionRate_desc"</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">7</span> <span style="color: rgb(0,0,0)">TaobaokeItemsGetResponse</span> <span style="color: rgb(0,0,0)">response</span><span style="color: rgb(0,0,0)">=</span><span style="color: rgb(0,0,0)">client</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">execute</span>(<span style="color: rgb(0,0,0)">req</span>);<br><span style="font-style: italic; color: rgb(0,136,0)">8</span> <span style="color: rgb(0,0,128); font-weight: bold">return</span> <span style="color: rgb(0,0,0)">response</span><span style="color: rgb(0,0,0)">.</span><span style="color: rgb(255,0,0)">getTaobaokeItems</span>();<br></div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">想用<a href="http://code.google.com/intl/zh-CN/appengine/docs/java/memcache/usingjcache.html" target="_blank">GAE JCache API</a> 加入缓存以减轻压力，但屡试不行，从缓存中取 的时候报错</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">没找到原因</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">改用自己写的缓存，然后用App Engine Cron 服务管理缓存</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">corn.xml</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source">&nbsp;</div> <div style="font-family: 'Courier New','Consolas','Lucida Console'; color: rgb(0,0,0)" class="source"><span style="font-style: italic; color: rgb(0,136,0)">1</span> <span style="color: rgb(0,128,128)">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">2</span> <span style="color: rgb(0,0,128); font-weight: bold">&lt;cronentries&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">3</span>&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;cron&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">4</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;url&gt;</span><span style="color: rgb(0,0,0)">/cron/recache</span><span style="color: rgb(0,0,128); font-weight: bold">&lt;/url&gt;</span><br><span style="color: rgb(248,16,176)">5</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;description&gt;</span><span style="color: rgb(0,0,0)">Repopulate the cache every 1 hours</span><span style="color: rgb(0,0,128); font-weight: bold">&lt;/description&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">6</span>&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;schedule&gt;</span><span style="color: rgb(0,0,0)">every 1 hours</span><span style="color: rgb(0,0,128); font-weight: bold">&lt;/schedule&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">7</span>&nbsp;&nbsp; <span style="color: rgb(0,0,128); font-weight: bold">&lt;/cron&gt;</span><br><span style="font-style: italic; color: rgb(0,136,0)">8</span> <span style="color: rgb(0,0,128); font-weight: bold">&lt;/cronentries&gt;</span><br></div><img src ="http://www.blogjava.net/liuspring/aggbug/335768.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-10-21 11:33 <a href="http://www.blogjava.net/liuspring/archive/2010/10/21/335768.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于DSM(DesignStructureMatrix)的设计过程模型优化算法</title><link>http://www.blogjava.net/liuspring/archive/2010/06/13/323496.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Sun, 13 Jun 2010 01:54:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/06/13/323496.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/323496.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/06/13/323496.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/323496.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/323496.html</trackback:ping><description><![CDATA[<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 958px; font-family: Arial; font-size: 12px; line-height: 18px; ">
    <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
        <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
            <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; ">
            <div id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; "><a target="_blank" href="http://dsmlabs.appspot.com/" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">基于DSM(DesignStructureMatrix)的设计过程模型优化算法</a></div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/liuspring/aggbug/323496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-06-13 09:54 <a href="http://www.blogjava.net/liuspring/archive/2010/06/13/323496.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery 验证所有text,textare非法字符</title><link>http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Sun, 13 Jun 2010 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/323495.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/323495.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/323495.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 01&nbsp;var&nbsp;$j&nbsp;=&nbsp;jQuery.noConflict();02&nbsp;//使用此方法验证所有text textarea 是否含有非法字符03&nbsp;$j(document).ready(function(){04&nbsp;&nbsp;&nbsp;&nbsp;$j("input[type='text']").each(functio...&nbsp;&nbsp;<a href='http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html'>阅读全文</a><img src ="http://www.blogjava.net/liuspring/aggbug/323495.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-06-13 09:53 <a href="http://www.blogjava.net/liuspring/archive/2010/06/13/323495.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于我</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321377.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 06:58:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321377.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321377.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321377.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321377.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321377.html</trackback:ping><description><![CDATA[<div>
<div>一个喜欢coding的程序员，工作在北京，从事java web 开发，喜欢JavaScript，平时关注技术新闻，试用各种新框架、新语言，学海无涯，有时也迷茫</div>
<div>平时没事翻翻编程思想、浏览各位同行的blog，将各种实际中的技巧、方法拿来养眼，并用到自己的项目中感受快乐</div>
<div>头儿的评价：不管遇到什么难题，都会钻窟窿盗洞把它解决掉</div>
</div>
<span style="font-size: 36pt; ">
<div><span style="font-size: 36pt; "><br />
</span></div>
求职<a href="http://liuspring315.appspot.com/blogView.do?logId=11001" title="工作简历" target="_blank">简历</a></span>
<img src ="http://www.blogjava.net/liuspring/aggbug/321377.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 14:58 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321377.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GWT编译巨慢</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321337.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 02:19:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321337.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321337.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321337.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321337.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321337.html</trackback:ping><description><![CDATA[<span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling module com.capinfo.cdss.gwt.olap.Olap</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling 12 permutations</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 0...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 1...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 2...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 3...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 4...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 5...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 6...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 7...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 8...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 9...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 10...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compiling permutation 11...</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compile of permutations succeeded</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Linking into D:\spring\workspace\fusionchart\war\olap.</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Link succeeded</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">Compilation succeeded --</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">&nbsp;</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><font color="#ff0000" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">291.925s</font></span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">在#.gwt.xml中添加支持Firefox</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">&lt;!-- User Agent --&gt;</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">&lt;set-property name="user.agent" value="gecko1_8" /&gt;</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">&nbsp;</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">编译的确变得很快，但IE中果真不好使</span>
<img src ="http://www.blogjava.net/liuspring/aggbug/321337.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 10:19 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321337.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GWT.setUncaughtExceptionHandler</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321335.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 02:18:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321335.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321335.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321335.html</trackback:ping><description><![CDATA[<div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #fdfdfd; color: black; font-family: Consolas, 'Courier New', 'BitStream Vera Sans Mono', 'Lucida Console'; font-size: 14px; "><u><span  style="font-family: Arial; font-size: 12px; line-height: 18px; ">
<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 945px; ">
    <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
        <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
            <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; ">
            <div id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; ">GWT设置UncaughtExceptionHandler 以捕获为捕捉的异常，这gwt在host mode编译后的JavaScript如果出现错误，No errors in Hosted Mode and Compiled localy, but deployed to tomcat yields in errors<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            这是恼人，加上UncaughtExceptionHandler起码有一丝线索</div>
            </td>
        </tr>
    </tbody>
</table>
</span></u></div>
<div class="source" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: '[object HTMLOptionElement]', Consolas, 'Lucida Console', 'Courier New'; color: #000000; font-size: 14px; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">GWT</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">setUncaughtExceptionHandler</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">new</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">GWT</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">UncaughtExceptionHandler</span>()&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">public</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">void</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">onUncaughtException</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">Throwable</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span>)&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">String</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"Uncaught exception: "</span>;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">while</span>&nbsp;(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">!=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">null</span>)&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">StackTraceElement</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">[]</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">stackTraceElements</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">getStackTrace</span>();<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">+=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">toString</span>()&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">+</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"\n"</span>;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">for</span>&nbsp;(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">int</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">i</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">0</span>;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">i</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">&lt;</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">stackTraceElements</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">length</span>;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">i</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">++)</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">+=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"&nbsp;&nbsp;&nbsp; at "</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">+</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">stackTraceElements</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">[</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">i</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">]</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">+</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"\n"</span>;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">}</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">getCause</span>();<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">if</span>&nbsp;(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">throwable</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">!=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">null</span>)&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">+=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"Caused by: "</span>;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">}</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">}</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">System</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">err</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">print</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span>);<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">replaceAll</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">" "</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">,</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">" "</span>);<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">Window</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">alert</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"系统错误："</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">+</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">text</span>);<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">}</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">});</span></div>
<img src ="http://www.blogjava.net/liuspring/aggbug/321335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 10:18 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Should only call onDetach when the widget is attached to the browser's document</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321336.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 02:18:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321336.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321336.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321336.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321336.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321336.html</trackback:ping><description><![CDATA[<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 945px; font-family: Arial; font-size: 12px; line-height: 18px; ">
    <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
        <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
            <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; ">
            <div id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; ">java.lang.IllegalStateException:Should only call onDetach when the widget is attached to the browser's document<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            这个异常是在com.google.gwt.user.client.ui.Widget protected void onDetach() 方法抛出的<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            当页面重新加载或离开页面时会执行这个方法<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            如果系统没有正常初始化，会有这个异常<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            郁闷的是No errors in Dev Mode but Compiled localy and deployed to tomcat in errors</div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/liuspring/aggbug/321336.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 10:18 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321336.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Gwt 中为加载中的Frame加上wait(二)</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321332.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 02:15:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321332.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321332.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321332.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321332.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321332.html</trackback:ping><description><![CDATA[<font  face="Arial" size="3"><span  style="font-size: 12px; line-height: 18px;"><span  style="font-family: Consolas, 'Courier New', 'BitStream Vera Sans Mono', 'Lucida Console'; line-height: normal; font-size: 14px; ">
<div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #fdfdfd; color: black; background-position: initial initial; background-repeat: initial initial; "><u><br />
</u></div>
<div class="source" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: '[object HTMLOptionElement]', Consolas, 'Lucida Console', 'Courier New'; color: #000000; "><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">private</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">void</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">showWaitMess</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">Frame</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">window</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">){</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">final</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">MessageBox</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">box</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">MessageBox</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">wait</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"等待"</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">,</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"正在查询数据，请稍后..."</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">,</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">"查询中..."</span>);<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">final</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">Element</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">frame</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">window</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">getElement</span>();<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">final</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">Timer</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">t</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">=</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">new</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">Timer</span>()&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">@Override</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">public</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">void</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">run</span>()&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">if</span>&nbsp;(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">ready</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">frame</span>))&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">this</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">cancel</span>();<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">box</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">close</span>();<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">}</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">}</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">};</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">t</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">.</span><span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #ff0000; ">scheduleRepeating</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #0000ff; ">100</span>);<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">}</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">private</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">native</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000080; font-weight: bold; ">boolean</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">ready</span>(<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">Element</span>&nbsp;<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #000000; ">frame</span>)<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #008800; font-style: italic; ">/*-{</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #008800; font-style: italic; ">&nbsp;&nbsp;&nbsp; return frame.contentWindow.document.readyState=="complete";</span><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; " />
<span style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; color: #008800; font-style: italic; ">}-*/</span>;</div>
</span></span></font>
<img src ="http://www.blogjava.net/liuspring/aggbug/321332.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 10:15 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321332.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Unable to modify the parent container element before the child element is closed (KB927917)</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321329.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 02:11:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321329.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321329.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321329.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321329.html</trackback:ping><description><![CDATA[<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 945px; font-family: Arial; font-size: 12px; line-height: 18px; ">
    <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
        <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
            <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; ">
            <div id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; ">又涨见识了<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            IE8报下面错误，而且是我的机器不报，同事的机器报，试了4台，两个报，两个不报，IE版本都一样，没想明白<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            解决：1、查看是否有未关闭的html标签，比如&lt;table&gt;而没有&lt;/table&gt; (我就是这个原因)<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            2、是否在页面未加载完前js代码操作了body里的元素，将相关js代码移到&lt;/body&gt;后面<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            网页错误详细信息<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            时间戳: Wed, 14 Apr 2010 08:33:56 UTC<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            消息: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            行: 0<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            字符: 0<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            代码: 0<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            URI:&nbsp;&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            http://support.microsoft.com/kb/927917</div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/liuspring/aggbug/321329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 10:11 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于GXT的决策分析系统基本完成</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321330.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 02:11:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321330.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321330.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321330.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321330.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321330.html</trackback:ping><description><![CDATA[<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 945px; font-family: Arial; font-size: 12px; line-height: 18px; ">
    <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
        <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
            <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; ">
            <div id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; ">
            <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本来系统是由JSP+润乾报表做的，做出一版来给人家客户演示，人家觉得体验不够，也没不够绚丽，要求回去返工，主要是因为他们看过他们兄弟部门的一个类似系统，要求向那个系统靠拢，可殊不知人家那是.net做的C/S，交互体验当然好了。</p>
            <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 面临一个抉择，换.net平台做winform，然后用sql server Analysis Services 的现成组件，这要技术上肯定可行，但是需要购买一堆微软的东西，钱啊。</p>
            <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 正好以前看过一些GWT的资料，以及基于GWT的开源框架，它的界面效果倒是可以满足客户的要求，遂毛遂自荐，想试试用GXT实验是否能实现要求的功能和效果，同时也有其他同事考察了SAP的BI，水晶E表，IBM的Cognos，结果因功能实现不够或者商务问题搁浅</p>
            <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好像春节后没多久就开始搞GWT，现在终于实现了（或是变相实现了）要求的功能、满足了客户的意见，很有成就感，期间经历了两次重构，现在采用的GXT提供的MVC模型，底层数据访问是通过调用润乾报表API，将润乾报表运算结果转化为一个List，然后交给GXT在页面展现。</p>
            <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 页面功能上，GXT挺全面，Grid列排序，隐藏显示特定列，树形展开收缩，用open chart封装的统计图表，数据钻取，列标题分组，拖拽形式动态设置列维度、行维度以实现灵活查询，将灵活查询行列维度保存起来供以后随时打开，将结果到处Excel、PDF、Word，动态设置查询条件的显示隐藏，动态的进度条提示等等</p>
            <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接下来还要融入GIS，实现报表到地图，地图到报表。</p>
            <p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 值得注意的是所有这些功能都是在一个窗口中完成的，实现了菜单、维度定义、报表、统计图功能的融合，不用客户点来点去，一步了然。</p>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/liuspring/aggbug/321330.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 10:11 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321330.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>OLAP(On_line Analytical Processing联机分析处理) 和 OLTP(On_line Transaction Processing联机事务处理)</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321327.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 02:05:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321327.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321327.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321327.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321327.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321327.html</trackback:ping><description><![CDATA[<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; font-family: Arial; font-size: 14px; ">OLAP(On_line Analytical Processing联机分析处理) 和 OLTP(On_line Transaction Processing联机事务处理)</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; font-family: Arial; font-size: 14px; ">OLTP：On_line Transaction Processing 联机事务处理 ，以业务处理为主</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; font-family: Arial; font-size: 14px; ">OLAP：On_line Analytical Processing&nbsp;&nbsp;&nbsp;&nbsp; 联机分析处理，则是专门为支持复杂的分析操作而设计的，侧重于对决策人员和高层管理人员的决策支持</p>
<img src ="http://www.blogjava.net/liuspring/aggbug/321327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 10:05 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GWT GXT探索</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321326.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 01:55:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321326.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321326.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321326.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321326.html</trackback:ping><description><![CDATA[<span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">因为客户不满意界面设计，人家看中了兄弟单位用的系统的样子，可他却不知那时cs程序，要想用bs做成那样的效果还是先天不足，就这样开始了GWT GXT的探索，一边摸索一边用GXT重写这个系统</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">现在想想 经历了三个阶段</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">刚开始是demo阶段，因为不知道路走不走的通，全面摸索GXT能实现的效果，也没注意模块的规划，甚至就一个类</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">而后发现还是能走通的，就开始添砖加瓦，发现代码越加越乱，决心重构，定义了多个包，多个类负责不同的功能模块，定义了一些Panel，一下子清晰多了，也遇到了不同模块间互相调用的问题，自己想当然的办法就是在一个类中声明每个模块作为属性，就像一个总管，每个屋子的钥匙我都有了，也认识到了这样的缺点，一些模块中的事件不等不在这个主管中定义</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">现在Now，用一天时间再次改写，仿照Gxt中的例子Explorer</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">1、将各个模块定义成com.extjs.gxt.ui.client.mvc.View，View中必须实现方法handleEvent(AppEvent event)，负责处理发给自己的事件</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">2、为每个View定义com.extjs.gxt.ui.client.mvc.Controller，每个Controller中包含View，在这里定义View要处理的事件</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">3、在Dispatcher中注册每个Controller</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">这样，每个View各司其职，他们各自有各自的功能，会接收为他们定义的所有事件并处理，发送事件Dispatcher.forwardEvent(appEvent);</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; "><br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
</span><span  style="font-family: Arial; font-size: 14px; line-height: 20px; ">感觉这次改写后 速度还没有改写前的快，现在每次操作url会自动添加Hash，想把它去掉，一直没找到根结</span>
<img src ="http://www.blogjava.net/liuspring/aggbug/321326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 09:55 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Gwt中为加载中的Frame加上wait</title><link>http://www.blogjava.net/liuspring/archive/2010/05/19/321325.html</link><dc:creator>猪</dc:creator><author>猪</author><pubDate>Wed, 19 May 2010 01:54:00 GMT</pubDate><guid>http://www.blogjava.net/liuspring/archive/2010/05/19/321325.html</guid><wfw:comment>http://www.blogjava.net/liuspring/comments/321325.html</wfw:comment><comments>http://www.blogjava.net/liuspring/archive/2010/05/19/321325.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuspring/comments/commentRss/321325.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuspring/services/trackbacks/321325.html</trackback:ping><description><![CDATA[<table style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; table-layout: fixed; width: 945px; font-family: Arial; font-size: 12px; line-height: 18px; ">
    <tbody style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
        <tr style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">
            <td style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: break-all; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 12px; line-height: 18px; ">
            <div id="blog_text" class="cnt" style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial; word-wrap: break-word; word-break: normal; visibility: visible !important; zoom: 1 !important; filter: none; font-size: 14px; line-height: 20px; color: #000000; overflow-x: hidden; overflow-y: hidden; position: static; ">Gwt中调用panel的setUrl方法嵌入一个网页<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            在网页加载过程中加入wait<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            在页面中加入javascript<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            var ready = false;&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            $j(document).ready(function(){<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            ready = true;&nbsp;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            });//这里用了jquery<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            然后再java中声明<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            public native boolean ready(Element frame)/*-{<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            return frame.contentWindow.ready?true:false;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            }-*/;<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            <br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            然后在设置Frame的url时<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            olapFrame = centerCp.setUrl(GWT.getHostPageBaseURL()<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            + com.google.gwt.http.client.URL.encode("jsp/showOlap.jsp?dim="<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            + dims + "&amp;dimname=" + colLabels + ""));<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            final MessageBox box = MessageBox.wait("等待", "正在查询数据，请稍后...", "查询中...");<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            final Element frame = olapFrame.getElement();<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            final Timer t = new Timer() {<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            @Override<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            public void run() {<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            if (ready(frame)) {<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            this.cancel();<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            box.close();<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            }<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            }<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            };<br style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; line-height: normal; " />
            t.scheduleRepeating(100);</div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/liuspring/aggbug/321325.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuspring/" target="_blank">猪</a> 2010-05-19 09:54 <a href="http://www.blogjava.net/liuspring/archive/2010/05/19/321325.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>