﻿<?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-jasmine214--love-随笔分类-Java-eclipse,svn</title><link>http://www.blogjava.net/jasmine214--love/category/45442.html</link><description>将目标执着于心间，保持热情，才会让自己每一天充满活力。</description><language>zh-cn</language><lastBuildDate>Sun, 15 Aug 2010 20:34:58 GMT</lastBuildDate><pubDate>Sun, 15 Aug 2010 20:34:58 GMT</pubDate><ttl>60</ttl><item><title>数据类型</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/08/09/328290.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Mon, 09 Aug 2010 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/08/09/328290.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/328290.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/08/09/328290.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/328290.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/328290.html</trackback:ping><description><![CDATA[<p>java数据类型&nbsp;&nbsp;&nbsp;&nbsp; 字节 &nbsp;表示范围 </p>
<p>byte（字节型）&nbsp;&nbsp;&nbsp;&nbsp; 1 &nbsp;-128～127 <br />
short（短整型）&nbsp;&nbsp;&nbsp; 2&nbsp;-32768～32767 <br />
int（整型）&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 &nbsp;-2147483648～2147483647 <br />
long（长整型）&nbsp;&nbsp;&nbsp;&nbsp; 8 &nbsp;-9223372036854775808 ~ 9223372036854775807 <br />
float（浮点型）&nbsp;&nbsp;&nbsp; 4 &nbsp;-3.4E38～3.4E38 <br />
double（双精度型） 8 &nbsp;-1.7E308～1.7E308 <br />
char（字符型）&nbsp;&nbsp;&nbsp;&nbsp; 2 &nbsp;从字符型对应的整型数来划分，其表示范围是0～65535 <br />
boolean（布尔型）&nbsp; 1 &nbsp;true或false </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Oracle 9i共提供了16种标量数据类型，如表7.4所示。</p>
<p>Oracle 9i的标量数据类型名称&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 含义<br />
Char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;用于描述定长的字符型数据，长度&lt;=2000字节 <br />
varchar2&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;用于描述变长的字符型数据，长度&lt;=4000字节 <br />
nchar&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;用来存储Unicode字符集的定长字符型数据，长度&lt;=1000字节 <br />
nvarchar2 &nbsp;&nbsp;&nbsp;用来存储Unicode字符集的变长字符型数据，长度&lt;=1000字节<br />
number &nbsp;&nbsp;&nbsp;&nbsp;用来存储整型或者浮点型数值<br />
Date &nbsp;&nbsp;&nbsp;&nbsp;用来存储日期数据 <br />
Long &nbsp;&nbsp;&nbsp;&nbsp;用来存储最大长度为2GB的变长字符数据 <br />
Raw &nbsp;&nbsp;&nbsp;&nbsp;用来存储非结构化数据的变长字符数据，长度&lt;=2000字节<br />
Long raw &nbsp;&nbsp;&nbsp;用来存储非结构化数据的变长字符数据，长度&lt;=2GB <br />
rowid &nbsp;&nbsp;&nbsp;&nbsp;用来存储表中列的物理地址的二进制数据，占用固定的10个字节 <br />
Blob &nbsp;&nbsp;&nbsp;&nbsp;用来存储多达4GB的非结构化的二进制数据 <br />
Clob &nbsp;&nbsp;&nbsp;&nbsp;用来存储多达4GB的字符数据 <br />
nclob &nbsp;&nbsp;&nbsp;&nbsp;用来存储多达4GB的Unicode字符数据<br />
Bfile &nbsp;&nbsp;&nbsp;&nbsp;用来把非结构化的二进制数据存储在数据库以外的操作系统文件中<br />
urowid &nbsp;&nbsp;&nbsp;&nbsp;用来存储表示任何类型列地址的二进制数据<br />
float &nbsp;&nbsp;&nbsp;&nbsp;用来存储浮点数&nbsp; </p>
<img src ="http://www.blogjava.net/jasmine214--love/aggbug/328290.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-08-09 10:36 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/08/09/328290.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用 Eclipse 平台进行 C/C++ 开发</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/30/327564.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Fri, 30 Jul 2010 05:05:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/30/327564.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/327564.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/30/327564.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/327564.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/327564.html</trackback:ping><description><![CDATA[
		<p>原文：http://www.duduwolf.com/wiki/2007/468.html</p>
		<p>http://www.ibm.com/developerworks/cn/linux/opensource/os-ecc/</p>
		<p>
				http://developer.51cto.com/art/200906/127380.htm<br /></p>
		<p>在这个部分，我们将迁移一个用 Microsoft Visual C++ 6 开发的简易 HelloWorld Win32 应用程序。</p>
		<ol type="1">
				<li>如果您没有现成的 Win32 应用程序，就用 Visual Studio 创建一个 HelloWorld Win32 
应用程序。从 Visual Studio 的 <b>Projects &gt; Export Makefile</b> 菜单中创建一个 
makefile。 <br /><br /><a name="fig001"><b>图 1. 用 Visual Studio 创建一个 
HelloWorld Win32 应用程序</b></a><br /><img alt="用 Visual Studio 创建一个 &#xD;&#xA;HelloWorld Win32 应用程序" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image001.jpg" width="572" height="391" /><br /><br /></li>
		</ol>
		<ol start="2" type="1">
				<li>启动 Eclipse，打开 C/C++ 视图。
    <ol type="a"><li>选择 <b>Window &gt; Open Perspective &gt; Other</b><br /><br /><a name="fig2a"><b>图 2a. 打开 C/C++ 视图</b></a><br /><img alt="打开 C/C++ 视图" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image02a.jpg" width="296" height="255" /><br /><br /></li></ol><ol start="2" type="a"><li>选择 C/C++ 视图 </li></ol><br /><br /><a name="fig2b"><b>图 2b. 选择 C/C++ 视图</b></a><br /><img alt="选择&#xD;&#xA; C/C++ 视图" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image02b.jpg" width="351" height="422" /><br /><br />注意：只有在安装 CDT 插件后，C/C++ 视图才会在 Select 
Perspective 对话框中列出。 </li>
		</ol>
		<ol start="3" type="1">
				<li>通过 <b>File &gt; New &gt; Standard Make C++ Project</b> 创建一个标准的 
C/C++ Make 项目。在出现的 <b>New Project</b> 对话框中的 <b>Project Name</b> 
编辑框中将此项目命名为 HelloEclipse，单击 <b>Finish</b>。 <br /><br /><a name="fig3a"><b>图 
3a. 创建 HelloWorld</b></a><br /><img alt="创建 HelloWorld" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image03a.jpg" width="531" height="531" /><br /><br /><br /><br /><a name="fig3b"><b>图 3b. 
将项目命名为 HelloEclipse</b></a><br /><img alt="将项目命名为 HelloEclipse" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image03b.jpg" width="572" height="572" /><br /><br /></li>
		</ol>
		<ol start="4" type="1">
				<li>现在我们要把用 Visual Studio 创建的文件导入 Eclipse 中。选择 <b>File &gt; Import</b>。
在 <b>Import</b> 对话框中选择 <b>Filesystem</b> 后单击 <b>Next</b>。如果新创建的项目不可见，选择 <b>Window
 &gt; ShowView &gt; C/C++ project</b>。 <br /><br /><a name="fig4"><b>图 4. 导入
 HelloWorld Visual Studio 项目文件</b></a><br /><img alt="导入 Visual Studio 文件" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image004.jpg" width="467" height="549" /><br /><br /></li>
		</ol>
		<ol start="5" type="1">
				<li>浏览到新创建的 Visual Studio 项目所在的目录，选择要导入的 <b>*.c*、*.h*、*.rc、*.ico</b>
 和 <b>.mak</b> 文件后单击 <b>Finish</b>。 <br /><br /><a name="fig5"><b>图 5. 导入 
*.c*、*.h*、*.rc、*.ico 和 .mak 文件</b></a><br /><img alt="导入 &#xD;&#xA;*.c*、*.h*、*.rc、*.ico 和 .mak 文件" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image005.jpg" width="545" height="575" /><br /><br /></li>
		</ol>
		<ol start="6" type="1">
				<li>环境变量的添加 <br /><br /><a name="fig6"><b>图 6. 添加环境变量</b></a><br /><img alt="添加环境变量" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image006.jpg" width="276" height="575" /><br /><br /></li>
		</ol>
		<ol start="7" type="1">
				<li>右键单击此项目，选择 <b>Properties</b>。在 <b>Properties for HelloEclipse</b>
 对话框中，选择左侧的 <b>C/C++ Make Project</b>，添加 <b>INCLUDE</b> 和 <b>LIB</b> 
环境变量，使其指向 Visual Studio 的 include 和 lib 路径。如果您使用的是 SDK 平台，则指向 SDK 的 
include 和 lib 目录。 <br /><br /><a name="fig7"><b>图 7. 使 Visual Studio include
 和 lib 路径指向正确的方向</b></a><br /><img alt="使 Visual Studio include 和 lib &#xD;&#xA;路径指向正确的方向" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image007.jpg" width="572" height="464" /><br /><br /></li>
		</ol>
		<ol start="8" type="1">
				<li>打开从 Visual Studio 项目中导入的 .mak 文件，做出以下更改：
    <ol type="a"><li>将配置（CFG）由 <b>Debug</b> 更改为 <b>Release</b>，以便得到一个应用程序的发布版本。它与
 <code>CFG=HelloWin - Win32 Release</code> 相似。 <br /><br /><a name="fig8a"><b>图
 8a. 将配置从 Debug 更改为 Release</b></a><br /><img alt="将配置从 Debug 更改为 Release" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image08a.jpg" width="572" height="176" /><br /><br /></li></ol><ol start="2" type="a"><li>在 ALL: tag: <code>@cmd /c $(OUTDIR)\$(EXENAME).exe</code> 
中添加执行应用程序的命令。 </li><li>定义 <code>EXENAME=HelloWin</code>。 </li></ol><br /><br /><a name="fig8b"><b>图 8b. 定义 EXENAME</b></a><br /><img alt="定义 &#xD;&#xA;EXENAME" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image08b.jpg" width="572" height="383" /><br /><br /></li>
		</ol>
		<ol start="9" type="1">
				<li>下一步是新建一个 make target。
    <ol type="a"><li>右键单击我们的当前项目，单击 <b>Create Make Target</b>。 <br /><br /><a name="fig9a"><b>图 9a. 新建一个 make target</b></a><br /><img alt="新建一个 make &#xD;&#xA;target" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image09a.jpg" width="278" height="460" /><br /><br /></li></ol><ol start="2" type="a"><li>为我们的项目新建一个 make target。“Target name” 用来指定您想要的任何名称。“Make 
target” 用来指定我们刚刚在前一步中修改的 .mak 文件名。清除 <b>Use default</b> 复选框，指定 “Build 
command”，此处的 build command 就是 <code>nmake</code>。要使 <i>Make targets</i> 
视图可见，选择 <b>Window &gt; Show View &gt; Make Targets</b>。 </li></ol><br /><br /><a name="fig9b"><b>图 9b. make target 应为 HelloWin.mak</b></a><br /><img alt="make target 应为 HelloWin.mak" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image09b.jpg" width="280" height="344" /><br /><br /></li>
		</ol>
		<ol start="10" type="1">
				<li>双击我们创建的 <b>HelloEclipse</b>，构建并运行 Win32 应用程序。 <br /><br /><a name="fig10"><b>图 10. 运行应用程序</b></a><br /><img alt="运行应用程序" src="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/image010.jpg" width="572" height="433" /><br /><br /></li>
		</ol>
		<p>VC++ 2005 Express 在传统的 Visual Studio C/C++ 中做了大量更改，可用一个在 Eclipse 
上启动的项目来解决此项问题。要获得详细资料，可以访问 Eclipse MSVC（请参阅 <a href="http://www.ibm.com/developerworks/cn/opensource/os-ecl-vscdt/index.html#resources"><font color="#5c81a7">参考资料</font></a>）。</p>
<img src ="http://www.blogjava.net/jasmine214--love/aggbug/327564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-30 13:05 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/30/327564.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse--Network   error   IOException:   Connection   refused(方法)</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/13/325936.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Tue, 13 Jul 2010 03:18:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/13/325936.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/325936.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/13/325936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/325936.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/325936.html</trackback:ping><description><![CDATA[
		<span class="postbody" postbody20563="">http://java.csecs.com/posts/list/4290.html<br /><br /></span>
		<span class="postbody" postbody20560="">我在Eclipse中配置数据库连接。我从网上下载了jtds-
1.2.jar。在数据库端配置的时候，会报“Network   error   IOException:   Connection   
refused   :   
connent”。我的URL设置是“jdbc:jtds:sqlserver://localhost:1433/master”。并且我也检查过
SQL的端口1433没有问题。请教各位高手，这可能是什么问题。
							</span>
		<br />
<img src ="http://www.blogjava.net/jasmine214--love/aggbug/325936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-13 11:18 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/13/325936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ZK + Spring + Hibernate最简单的例子</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325786.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Sun, 11 Jul 2010 08:25:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325786.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/325786.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/325786.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/325786.html</trackback:ping><description><![CDATA[
		<div class="blog_content"> <br />原文：<a href="http://chanson.javaeye.com/blog/164786">http://chanson.javaeye.com/blog/164786</a><br />1、Spring+Hibernate配置起来很简单，具体就不细说了，网上多的是。 <br /><br />2、ZK显示页面 <br />【query.zul】 <br />&lt;?xml version="1.0" encoding="UTF-8"?&gt; <br />&lt;window&gt; <br />&lt;button label="查询"&gt;&lt;/button&gt; <br />&lt;vbox&gt; <br />  &lt;listbox id="testListID" width="800px" rows="5" use="chanson.common.web.ui.ListTestBean"&gt; <br />    &lt;listhead&gt; <br />      &lt;listheader label="姓名"/&gt; <br />      &lt;listheader label="性别"/&gt; <br />      &lt;listheader label="生日"/&gt; <br />      &lt;listheader label="薪资"/&gt; <br />    &lt;/listhead&gt; <br />    &lt;listitem value="${each.id}" forEach="${testList}"&gt; <br />      &lt;listcell label="${each.name}"/&gt; <br />      &lt;listcell label="${each.sex}"/&gt; <br />      &lt;listcell label="${each.birthday}"/&gt; <br />      &lt;listcell label="${each.money}"/&gt; <br />    &lt;/listitem&gt; <br />  &lt;/listbox&gt; <br />&lt;/vbox&gt; <br />&lt;/window&gt; <br /><br />《说明》： <br />A、&lt;?xml version="1.0" encoding="UTF-8"?&gt; <br />这个别忘记了，刚学的时候就是因为它报了不少错误。 <br />B、use="chanson.common.web.ui.ListTestBean" <br />这个类就是衔接前后台的关键类。 <br />C、${*.*}这个是标准的EL写法。 <br /><br /><br />3、ListTestBean——最关键的衔接类 <br />public class ListTestBean extends Listbox { <br /><br />    public void onCreate() { <br />      ITestLogic testLogic = (ITestLogic) SpringFactory <br />  .getBeanFactory().getBean("testLogic"); <br />      List testList = testLogic.find("from Test"); <br />        Iterator it = testList.iterator(); <br />        while(it.hasNext()) { <br />            Test test = (Test) it.next(); <br />            Long id = test.getId(); <br />            String name = test.getName(); <br />            Integer sex = test.getSex(); <br />            Date birthday =test.getBirthday(); <br />            Double money = test.getMoney();       <br /><br />            Listitem listitem = new Listitem(); <br />            listitem.setValue(id); <br />            listitem.setParent(this); <br /><br />            Listcell nameCell = new Listcell(name); <br />            Listcell sexCell = new Listcell(sex.toString()); <br />            Listcell birthdayCell = new Listcell(birthday.toString()); <br />            Listcell moneyCell = new Listcell(money.toString()); <br />            nameCell.setParent(listitem); <br />            sexCell.setParent(listitem); <br />            birthdayCell.setParent(listitem); <br />            moneyCell.setParent(listitem); <br />        } <br />     } <br />} <br />《说明》： <br />A、例子是一个简单的查询，所以看起来也比较简单。 <br />B、该类的作用有点像似servlet，只是省略了页面跳转 <br />C、setter/getter真是麻烦，得找找更简洁的方法 <br /><br /><br /><br />【附录】 <br />1）、数据库设计——test表 <br />CREATE TABLE `test` ( <br />  `id` decimal(22,0) NOT NULL default '0', <br />  `name` varchar(100) default NULL, <br />  `sex` int(1) default NULL, <br />  `birthday` datetime default NULL, <br />  `money` decimal(15,4) default NULL, <br />  PRIMARY KEY  (`id`) <br />) ENGINE=InnoDB DEFAULT CHARSET=utf8; <br />2）、其他应该没什么了吧？ <br />3）、页面效果图 <br /></div>
		<div class="attachments">
				<ul style="DISPLAY: none">
						<li>
								<a href="http://dl.javaeye.com/upload/attachment/15301/4175d538-7d7c-3284-9266-a707152cc0f9.gif" target="_blank">
										<img class="magplus" title="点击查看原始大小图片" src="http://dl.javaeye.com/upload/attachment/15301/4175d538-7d7c-3284-9266-a707152cc0f9-thumb.gif" />
								</a>
						</li>
						<li>描述: 页面效果图 
</li>
						<li>大小: 27.5 KB </li>
				</ul>
		</div>
<img src ="http://www.blogjava.net/jasmine214--love/aggbug/325786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-11 16:25 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ZK--学习研究1/2/3</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325785.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Sun, 11 Jul 2010 08:01:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325785.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/325785.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325785.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/325785.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/325785.html</trackback:ping><description><![CDATA[原文：<a href="http://jerrysun.blog.51cto.com/745955/280525">http://jerrysun.blog.51cto.com/745955/280525</a><br />由于工作的变动，已经很久没有更新Blog了。来到新公司又马不停蹄的开始了自己的工作，现在终于可以忙里偷闲了，呵呵。
<div>　　虽然说新公司的业务和自己之前从事的是两个领域，不过好在技术还是Java，而且在新公司的第一个项目还和之前的一样，开发一个内容管理系统，哈哈，这个可是我比较擅长的。在经历两月的时间之后，终于满足了需求的内容，顺利上线。不过又出了新问题，就是界面比较难看，这时领导提议说“要不你用ZK改造吧，公司之前的系统也是ZK做的”。这个提议倒是不错，不过对于我来说又是一个挑战。</div><div>　　google了一下，发现ZK在国内使用的不是很多，资料也不是很全。只能是摸着河过石头了。不会写，还不会抄吗，先下载ZK官网的Demo看看再说<img onclick="window.open(&quot;http://blog.51cto.com/viewpic.php?refimg=&quot; + this.src)" border="0" alt="" src="http://blog.51cto.com/editor/icons/etc_17.gif" width="19" height="19" /></div><div>　　下了Demo，搭建环境，运行，发现ZK确实比较好用，非常类似于微软的.Net，它提供了很多组件，使用这些组件可以很快的进行开发。我认为ZK最好的地方在于code-behind，这一点和.Net是非常类似的。这样就不用再像写JSP的时候那样将一些具体的操作代码写到页面中，使页面代码非常难阅读；而它又比WebWork更加灵活，有些东西不需要再重新修改WebWork中的组件（由于敝人对于WebWork的使用不是很精通，请各位WebWork、Structs达人不要拍砖<img onclick="window.open(&quot;http://blog.51cto.com/viewpic.php?refimg=&quot; + this.src)" border="0" alt="" src="http://blog.51cto.com/editor/icons/etc_20.gif" width="19" height="19" />）。</div><div>　　也许是我接触的东西少吧（作为一个程序员，实在是惭愧啊），总之ZK让我觉得很容易上手，后面的应用也说明了这一点。</div><br />书接上回，前面说了那么多，到底ZK有啥好处呢？这个就只可意会不可言传了，呵呵。
<div>　　举个例子，假设有个列表需要显示，在页面中可以使用table或者是ul li来实现，table的代码如下：</div><div><div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 16px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 4px; FONT-FAMILY: verdana,宋体; COLOR: #000000; FONT-SIZE: 10pt; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px">&lt;table cellspacing=<font color="#800000">"0"</font> cellpadding=<font color="#800000">"0"</font> width=<font color="#800000">"90%"</font> border=<font color="#800000">"0"</font><font color="#0000ff">class</font>=<font color="#800000">"table_cont"</font>&gt; <br />  &lt;tbody&gt; <br />&lt;% <br />    <font color="#008000">//判断列表是否为空 </font><br />    <font color="#0000ff">if</font>(activeList==<font color="#0000ff">null</font> || activeList.isEmpty() || activeList.size()&lt;1) <br />    { <br />      <font color="#008000">//为空，显示提示信息 </font><br />      out.print(<font color="#800000">"&lt;tr&gt;&lt;td colspan=\"4\" style=\"width:400px;\"&gt;目前 "</font>+strProvinceName+<font color="#800000">" 还没有活动&lt;/td&gt;&lt;/tr&gt;"</font>); <br />    } <br />    <font color="#0000ff">else</font><br />    { <br />      <font color="#008000">//不为空，显示列表内容 </font><br />      out.println(<font color="#800000">"&lt;tr&gt;\n&lt;th style=\"width:40%;\"&gt;名称&lt;/th&gt;&lt;th style=\"width:30%;\"&gt;活动日期&lt;/th&gt;&lt;th style=\"width:10%;\"&gt;状态&lt;/th&gt;&lt;th style=\"width:20%;\"&gt;操作&lt;/th&gt;\n&lt;/tr&gt;"</font>); <br />      Iterator&lt;Active&gt; iter = activeList.iterator(); <br />      Active active = <font color="#0000ff">null</font>; <br />      <font color="#0000ff">while</font>(iter.hasNext()) <br />      { <br />        active = (Active)iter.next(); <br />        out.println(<font color="#800000">"&lt;tr&gt;"</font>); <br />        out.print(<font color="#800000">"&lt;td style=\"width:40%;\"&gt;"</font>+active.getTitle()+<font color="#800000">"&lt;/td&gt;"</font>); <br />        <font color="#0000ff">if</font>(active.getCreateDt()!=<font color="#0000ff">null</font>) <br />        { <br />          out.print(<font color="#800000">"&lt;td style=\"width:30%;\"&gt;"</font>+active.getCreateDt().toString().substring(0,10)+<font color="#800000">"&lt;/td&gt;"</font>); <br />        } <br />        <font color="#0000ff">else</font><br />        { <br />          out.print(<font color="#800000">"&lt;td style=\"width:10%;\"&gt; &lt;/td&gt;"</font>); <br />        } <br />        <font color="#0000ff">if</font>(active.getStatus()==1) <br />        { <br />          out.print(<font color="#800000">"&lt;td&gt;上线&lt;/td&gt;"</font>); <br />        } <br />        <font color="#0000ff">else</font><font color="#0000ff">if</font>(active.getStatus()==2) <br />        { <br />          out.print(<font color="#800000">"&lt;td&gt;下线&lt;/td&gt;"</font>); <br />        } <br />        out.print(<font color="#800000">"&lt;td style=\"width:20%;\"&gt;&lt;a href=\"activeUpdate.jsp?province="</font>+province+<font color="#800000">"&amp;activeId="</font>+active.getId()+<font color="#800000">"\"&gt;修改&lt;/a&gt;  "</font>); <br />        out.print(<font color="#800000">"&lt;a href=\"activeDel.jsp?province="</font>+province+<font color="#800000">"&amp;activeId="</font>+active.getId()+<font color="#800000">"\"&gt;删除&lt;/a&gt;&lt;/td&gt;"</font>); <br />        out.println(<font color="#800000">"&lt;/tr&gt;"</font>); <br />      } <br />    } <br />%&gt; <br />  &lt;/tbody&gt; <br />&lt;/table&gt;</div></div><div>　　效果图如下：</div><div><img onclick="window.open(&quot;http://blog.51cto.com/viewpic.php?refimg=&quot; + this.src)" border="0" alt="" src="http://img1.51cto.com/attachment/201005/201005141273833028094.jpg" /></div><div>　　可以看出其中有一些的判断，然后还要担心“&lt;%”和“%&gt;”是否匹配，“{”和“}”是否匹配等等情况。如果是ZK的话，这些不必要的担心就可以省去了。</div><div>　　页面（list.zul）代码：</div><div><div><div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 16px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 4px; FONT-FAMILY: verdana,宋体; COLOR: #000000; FONT-SIZE: 10pt; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><font color="#0000ff">&lt;?</font><font color="#800000">xml</font><font color="#ff0000">version</font><font color="#0000ff">="1.0"</font><font color="#ff0000">encoding</font><font color="#0000ff">="UTF-8"</font><font color="#0000ff">?&gt;</font><br /><font color="#0000ff">&lt;?</font><font color="#800000">page</font><font color="#ff0000">title</font><font color="#0000ff">="列表"</font><font color="#ff0000">contentType</font><font color="#0000ff">="text/html;charset=UTF-8"</font><font color="#0000ff">?&gt;</font><br /><font color="#0000ff">&lt;</font><font color="#800000">zk</font><font color="#0000ff">&gt;</font><br /><font color="#0000ff">&lt;</font><font color="#800000">window</font><font color="#ff0000">style</font><font color="#0000ff">="heigth:100%; border:0; text-align:center;"</font><font color="#ff0000">id</font><font color="#0000ff">="winList"</font><font color="#0000ff">&gt;</font><br />  <font color="#0000ff">&lt;</font><font color="#800000">style</font><font color="#ff0000">src</font><font color="#0000ff">="../styles/global.css"</font><font color="#0000ff">&gt;</font><font color="#0000ff">&lt;/</font><font color="#800000">style</font><font color="#0000ff">&gt;</font><br />  <font color="#0000ff">&lt;</font><font color="#800000">div</font><font color="#ff0000">style</font><font color="#0000ff">="padding-top:20px; vertical-align:bottom;"</font><font color="#0000ff">&gt;</font><br />    <font color="#0000ff">&lt;</font><font color="#800000">label</font><font color="#ff0000">value</font><font color="#0000ff">="列表"</font><font color="#0000ff">/&gt;</font><font color="#0000ff">&lt;</font><font color="#800000">separator</font><font color="#0000ff">/&gt;</font><br />  <font color="#0000ff">&lt;/</font><font color="#800000">div</font><font color="#0000ff">&gt;</font><br />  <font color="#0000ff">&lt;</font><font color="#800000">div</font><font color="#ff0000">style</font><font color="#0000ff">="padding:0px 0px 0px 0px;text-align:center;width:80%;"</font><font color="#0000ff">&gt;</font><br />    <font color="#0000ff">&lt;</font><font color="#800000">label</font><font color="#ff0000">id</font><font color="#0000ff">="lblTips"</font><font color="#ff0000">visible</font><font color="#0000ff">="false"</font><font color="#ff0000">style</font><font color="#0000ff">="color:#FF0000;"</font><font color="#0000ff">/&gt;</font><br />    <font color="#0000ff">&lt;</font><font color="#800000">listbox</font><font color="#ff0000">id</font><font color="#0000ff">="blacklistList"</font><font color="#ff0000">style</font><font color="#0000ff">="width:100%;"</font><font color="#0000ff">&gt;</font><br />      <font color="#0000ff">&lt;</font><font color="#800000">listhead</font><font color="#ff0000">style</font><font color="#0000ff">="text-align:center;"</font><font color="#0000ff">&gt;</font><br />        <font color="#0000ff">&lt;</font><font color="#800000">listheader</font><font color="#ff0000">label</font><font color="#0000ff">="用户号码"</font><font color="#ff0000">style</font><font color="#0000ff">="width:15%;"</font><font color="#0000ff">/&gt;</font><br />        <font color="#0000ff">&lt;</font><font color="#800000">listheader</font><font color="#ff0000">label</font><font color="#0000ff">="用户类别"</font><font color="#ff0000">style</font><font color="#0000ff">="width:15%;"</font><font color="#0000ff">/&gt;</font><br />        <font color="#0000ff">&lt;</font><font color="#800000">listheader</font><font color="#ff0000">label</font><font color="#0000ff">="说明"</font><font color="#ff0000">style</font><font color="#0000ff">="width:35%;"</font><font color="#0000ff">/&gt;</font><br />        <font color="#0000ff">&lt;</font><font color="#800000">listheader</font><font color="#ff0000">label</font><font color="#0000ff">="添加日期"</font><font color="#ff0000">style</font><font color="#0000ff">="width:15%;"</font><font color="#0000ff">/&gt;</font><br />        <font color="#0000ff">&lt;</font><font color="#800000">listheader</font><font color="#ff0000">label</font><font color="#0000ff">="操作"</font><font color="#ff0000">style</font><font color="#0000ff">="width:20%;"</font><font color="#0000ff">/&gt;</font><br />      <font color="#0000ff">&lt;/</font><font color="#800000">listhead</font><font color="#0000ff">&gt;</font><br />    <font color="#0000ff">&lt;/</font><font color="#800000">listbox</font><font color="#0000ff">&gt;</font><br />  <font color="#0000ff">&lt;/</font><font color="#800000">div</font><font color="#0000ff">&gt;</font><br />  <font color="#0000ff">&lt;</font><font color="#800000">zscript</font><font color="#ff0000">language</font><font color="#0000ff">="Java"</font><font color="#0000ff">&gt;</font><br />    &lt;![CDATA[ <br />             import com.zk.list; <br />             list ui = new list(); <br />             ui.setWinMain(winlList); <br />             ui.showAllBlacklist(); <br />    ]]&gt; <br />  <font color="#0000ff">&lt;/</font><font color="#800000">zscript</font><font color="#0000ff">&gt;</font><br /><font color="#0000ff">&lt;/</font><font color="#800000">window</font><font color="#0000ff">&gt;</font><br /><font color="#0000ff">&lt;/</font><font color="#800000">zk</font><font color="#0000ff">&gt;</font></div></div></div><div>　　逻辑处理代码（list.java）：</div><div><div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 16px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 4px; FONT-FAMILY: verdana,宋体; COLOR: #000000; FONT-SIZE: 10pt; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><font color="#0000ff">public</font><font color="#0000ff">void</font> showAllBlacklist() <br />{ <br />  <font color="#0000ff">try</font><br />  { <br />    <font color="#008000">// 得到列表 </font><br />    BlacklistIF blacklistIf = ServiceLocator.getBlacklistIF(); <br />    List&lt;Blacklist&gt; blacklistList = blacklistIf.findAllBlacklist(-1); <br />     <br />    <font color="#008000">// 判断列表是否为空 </font><br />    <font color="#0000ff">if</font>(blacklistList.size()&gt;0 &amp;&amp; !blacklistList.isEmpty()) <br />    { <br />      <font color="#0000ff">this</font>.showList(blacklistList); <br />    } <br />  } <br />  <font color="#0000ff">catch</font>(Exception ex) <br />  { <br />    ex.printStackTrace(); <br />  } <br />} <br /><br /><font color="#0000ff">private</font><font color="#0000ff">void</font> showList(List&lt;Blacklist&gt; blacklistList) <br />{ <br />  <font color="#008000">// 得到列表组件，用于显示群发安排列表 </font><br />  Listbox listbox = (Listbox)winMain.getFellow(<font color="#800000">"blacklistList"</font>); <br />    <br />  <font color="#008000">// 列表的行组件 </font><br />  Listitem listitem = <font color="#0000ff">new</font> Listitem(); <br />    <br />  <font color="#008000">// 列表的列组件 </font><br />  Listcell listcell = <font color="#0000ff">new</font> Listcell(); <br />    <br />  <font color="#0000ff">for</font>(<font color="#0000ff">int</font> i=0;i&lt;blacklistList.size();i++) <br />  { <br />    <font color="#008000">// 用户号码 </font><br />    listcell.setLabel(blacklistList.get(i).getMobile()); <br />    listitem.appendChild(listcell); <br />     <br />    <font color="#008000">// 用户类别 </font><br />    listcell = <font color="#0000ff">new</font> Listcell(); <br />    <font color="#0000ff">switch</font>(blacklistList.get(i).getType()) <br />    { <br />      <font color="#0000ff">case</font> 1: <br />        listcell.setLabel(<font color="#800000">"黑名单"</font>); <br />        <font color="#0000ff">break</font>; <br />      <font color="#0000ff">case</font> 2: <br />        listcell.setLabel(<font color="#800000">"黄名单"</font>); <br />        <font color="#0000ff">break</font>; <br />      <font color="#0000ff">case</font> 3: <br />        listcell.setLabel(<font color="#800000">"绿名单"</font>); <br />        <font color="#0000ff">break</font>; <br />      <font color="#0000ff">case</font> 4: <br />        listcell.setLabel(<font color="#800000">"非彩信用户"</font>); <br />        <font color="#0000ff">break</font>; <br />    } <br />    listitem.appendChild(listcell); <br />     <br />    <font color="#008000">// 说明 </font><br />    listcell = <font color="#0000ff">new</font> Listcell(); <br />    <font color="#0000ff">if</font>(blacklistList.get(i).getDescription().equals("")) <br />    { <br />      listcell.setLabel(<font color="#800000">"暂无"</font>); <br />    } <br />    <font color="#0000ff">else</font><br />    { <br />      listcell.setLabel(blacklistList.get(i).getDescription()); <br />    } <br />    listitem.appendChild(listcell); <br />     <br />    <font color="#008000">// 添加日期 </font><br />    listcell = <font color="#0000ff">new</font> Listcell(); <br />    listcell.setLabel(blacklistList.get(i).getCreateDate().toString().substring(0,10)); <br />    listitem.appendChild(listcell); <br />     <br />    <font color="#008000">// 显示操作按钮 </font><br />    Hbox hbox = <font color="#0000ff">new</font> Hbox(); <br />     <br />    <font color="#008000">// 彩信产品的id，添加事件监听时要用final修饰的变量 </font><br />    <font color="#0000ff">final</font><font color="#0000ff">int</font> id = Integer.parseInt(blacklistList.get(i).getId().toString().trim()); <br />    <font color="#008000">// 添加一个查看按钮 </font><br />    Button button = <font color="#0000ff">new</font> Button(); <br />    button.setLabel(<font color="#800000">"查看"</font>); <br />    <font color="#008000">// 为查看按钮添加一个 </font><br />    button.addEventListener(Events.ON_CLICK, <font color="#0000ff">new</font> EventListener() <br />    { <br />      <font color="#0000ff">public</font><font color="#0000ff">void</font> onEvent(Event arg0) <font color="#0000ff">throws</font> Exception { <br />        showBlacklistDetail(String.valueOf(id)); <br />      } <br />    }); <br />    button.setVisible(<font color="#0000ff">false</font>); <br />    hbox.appendChild(button); <br />     <br />    <font color="#008000">// 添加一个删除按钮 </font><br />    button = <font color="#0000ff">new</font> Button(); <br />    button.setLabel(<font color="#800000">"删除"</font>); <br />    <font color="#008000">// 为删除按钮添加一个 </font><br />    button.addEventListener(Events.ON_CLICK, <font color="#0000ff">new</font> EventListener() <br />    { <br />      <font color="#0000ff">public</font><font color="#0000ff">void</font> onEvent(Event arg0) <font color="#0000ff">throws</font> Exception { <br />        delBlacklist(String.valueOf(id)); <br />      } <br />    }); <br />    hbox.appendChild(button); <br />     <br />    listcell = <font color="#0000ff">new</font> Listcell(); <br />    listcell.appendChild(hbox); <br />    listitem.appendChild(listcell); <br />     <br />    <font color="#008000">// 将当前行在列表中显示 </font><br />    listbox.appendChild(listitem); <br />     <br />    listitem = <font color="#0000ff">new</font> Listitem(); <br />    listcell = <font color="#0000ff">new</font> Listcell(); <br />  } <br />}</div></div><div>　　效果图如下：</div><div><img onclick="window.open(&quot;http://blog.51cto.com/viewpic.php?refimg=&quot; + this.src)" border="0" alt="" src="http://img1.51cto.com/attachment/201005/201005141273833325054.jpg" /></div><div>　　可以看到，这样就达到了逻辑处理和页面显示的代码分离，使得页面显示的代码更加清晰，而逻辑处理类的作用也更加明显。 <br />前面已经看见效果了，咱们就来开始实际应用它吧。首先要做的是搭建开发环境，访问ZK的官方网站<a href="http://www.zkoss.org/"><font color="#000000">http://www.zkoss.org/</font></a>，在页面的顶部导航，或者右侧可以看到download，点击download进去，在页面的Downloads列表中选择第二项“ZK studio”，这时会进入另一个页面，此时我们只要在MyEclipse中的插件管理面板中将“Online Installation”下面的地址粘贴进去，点击OK就好了。接下来就是等待MyEclipse帮我们把ZK插件安装好。
<div>　　安装好以后，会弹出一个对话框，要输入用户名和密码，这个只要在ZK的网站上注册一下就好了。我尝试过不输入用户名、密码，结果ZK不能正常使用了<img onclick="window.open(&quot;http://blog.51cto.com/viewpic.php?refimg=&quot; + this.src)" border="0" alt="" src="http://jerrysun.blog.51cto.com/editor/icons/etc_06.gif" width="19" height="19" /></div><div>　　开发环境有了，接下来就是来编写我们的第一个ZK工程了。在MyEclipse中选择file-&gt;new-&gt;project 然后选择ZK Project，然后next，输入工程名，finish就可以了。这时会询问是否切换到ZK的编辑面板，这个就因人而异吧，自己喜欢就好。</div><div>　　在ZUL文件的代码中，你会看到“New Content Here!” 这句话，把它替换成你自己想写的内容，保存，然后部署到Tomcat下，访问这个ZUL文件，就能看到效果了。</div><div>　　效果图如下：</div><div><img onclick="window.open(&quot;http://blog.51cto.com/viewpic.php?refimg=&quot; + this.src)" border="0" alt="" src="http://img1.51cto.com/attachment/201005/201005181274154865791.jpg" /></div><div>　　代码如下：</div><div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 16px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 4px; FONT-FAMILY: verdana,宋体; COLOR: #000000; FONT-SIZE: 10pt; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><font color="#0000ff">&lt;?</font><font color="#800000">page</font><font color="#ff0000">title</font><font color="#0000ff">="new page title"</font><font color="#ff0000">contentType</font><font color="#0000ff">="text/html;charset=UTF-8"</font><font color="#0000ff">?&gt;</font><br /><font color="#0000ff">&lt;</font><font color="#800000">zk</font><font color="#0000ff">&gt;</font><br /><font color="#0000ff">&lt;</font><font color="#800000">window</font><font color="#ff0000">title</font><font color="#0000ff">="new page title"</font><font color="#ff0000">border</font><font color="#0000ff">="normal"</font><font color="#0000ff">&gt;</font><br />我的第一个ZK页面，hoho<br /><font color="#0000ff">&lt;/</font><font color="#800000">window</font><font color="#0000ff">&gt;</font><br /><font color="#0000ff">&lt;/</font><font color="#800000">zk</font><font color="#0000ff">&gt;</font></div><div>　　</div><div>　　嘿嘿，第一个ZK页面出来喽</div></div><img src ="http://www.blogjava.net/jasmine214--love/aggbug/325785.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-11 16:01 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325785.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ZK--如何使用JSP</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325784.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Sun, 11 Jul 2010 07:55:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325784.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/325784.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325784.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/325784.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/325784.html</trackback:ping><description><![CDATA[
		<p>
				<span>原文：<a href="http://hi.baidu.com/zk_ajax/blog/item/883b0f36030da1dca3cc2bb3.html">http://hi.baidu.com/zk_ajax/blog/item/883b0f36030da1dca3cc2bb3.html</a><br />Zk</span>
				<span>使用的是</span>
				<span>zul</span>
				<span>，据说是</span>
				<span>xul</span>
				<span>的扩展，反正对于我这种用惯</span>
				<span>JSP</span>
				<span>的人实在不习惯，于是便尝试并搜索着如何将</span>
				<span>zk</span>
				<span>整合到</span>
				<span>JSP</span>
				<span>中，还真找到了，不过</span>
				<span>JSP</span>
				<span>文件就必须严格遵守</span>
				<span>XML</span>
				<span>格式了，例如</span>
				<span>&lt; br&gt;</span>
				<span>就得写成</span>
				<span>&lt;br /&gt;</span>
				<span>或</span>
				<span>&lt;br&gt;&lt;/br&gt;</span>
				<span>了，刚开始狂报错，基本上都是标签未关闭，实在不惯啊。哈，进正题了。</span>
		</p>
		<p>
				<span>
						<span>       </span>
				</span>
				<span>还记得那个</span>
				<span>zkajax</span>
				<span>工程吗，打开它，然后打开</span>
				<span>web.xml</span>
				<span>文件</span>
				<span>(</span>
				<span>如果不知道这个文件的位置，我就该哭了</span>
				<span>)</span>
				<span>，如果出现的是图形，就点下面</span>
				<span>Source</span>
				<span>即可出现代码。</span>
		</p>
		<p>
				<span>
						<span>       </span>
				</span>
				<span>在</span>
				<span>&lt;listener&gt;</span>
				<span>标签的前面添加如下的</span>
				<span>filter(Ctrl+Shift+F5</span>
				<span>可以对齐文本</span>
				<span>)</span>
		</p>
		<p style="TEXT-INDENT: 21pt">
				<span>&lt;filter&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;filter-name&gt;zkFilter&lt;/filter-name&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;filter-class&gt;</span>
		</p>
		<p>
				<span>
						<span>                     </span>org.zkoss.zk.ui.http.DHtmlLayoutFilter</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;/filter-class&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;init-param&gt;</span>
		</p>
		<p>
				<span>
						<span>                     </span>&lt;param-name&gt;extension&lt;/param-name&gt;</span>
		</p>
		<p>
				<span>
						<span>                     </span>&lt;param-value&gt;html&lt;/param-value&gt;</span>
		</p>
		<p>
				<span>
						<span>                     </span>&lt;!-- Use XHTML components as default. --&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;/init-param&gt;</span>
		</p>
		<p>
				<span>
						<span>       </span>&lt;/filter&gt;</span>
		</p>
		<p>
				<span>
						<span>       </span>&lt;filter-mapping&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;filter-name&gt;zkFilter&lt;/filter-name&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;dispatcher&gt;REQUEST&lt;/dispatcher&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;dispatcher&gt;INCLUDE&lt;/dispatcher&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;dispatcher&gt;FORWARD&lt;/dispatcher&gt;</span>
		</p>
		<p>
				<span>
						<span>              </span>&lt;dispatcher&gt;ERROR&lt;/dispatcher&gt;</span>
		</p>
		<p>
				<span>
						<span>       </span>&lt;/filter-mapping&gt;</span>
		</p>
		<p>
				<span>
						<span>
						</span>
						<span>     </span>
				</span>
		</p>
		<p>
				<span>在</span>
				<span>WebContent</span>
				<span>目录下新建一个</span>
				<span>test_jsp</span>
				<span>文件</span>
				<span>，</span>
				<span>内容如下</span>
				<span>
				</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;%@ page language="java" pageEncoding="UTF-8"%&gt;</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">
				</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;html xmlns:x="http://www.zkoss.org/2005/zul"&gt;</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;head&gt;</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;title&gt;</span>
				<span style="FONT-SIZE: 10pt">测试</span>
				<span style="FONT-SIZE: 10pt">zk jsp&lt;/title&gt;</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;/head&gt;</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;body&gt;</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;x:window id="test" title="</span>
				<span style="FONT-SIZE: 10pt">测试</span>
				<span style="FONT-SIZE: 10pt">zk jsp" border="normal" width="100px"&gt;</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">测试</span>
				<span style="FONT-SIZE: 10pt">zk jsp</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;/x:window&gt;</span>
		</p>
		<p style="TEXT-ALIGN: left" align="left">
				<span style="FONT-SIZE: 10pt">&lt;/body&gt;</span>
		</p>
		<p>
				<span style="FONT-SIZE: 10pt">&lt;/html&gt;</span>
		</p>
		<p>
				<span>
				</span>
		</p>
		<p>
				<span>在这文件上点右键</span>
				<span>-&gt;Rin As-&gt;Run on server,</span>
				<span>，即可看到运行结果，大概是下图的样子：</span>
		</p>
		<div forimg="1">
				<a href="http://hiphotos.baidu.com/zk_ajax/pic/item/5ede4cfaa6db249258ee907b.jpg" target="_blank">
						<img class="blogimg" border="0" src="http://hiphotos.baidu.com/zk_ajax/abpic/item/5ede4cfaa6db249258ee907b.jpg" width="200" height="141" small="1" />
				</a>
		</div>
		<p>
		</p>
		<p>
				<span>是不是字体很小？我觉得太小了，于是我修改</span>
				<span>css</span>
				<span>文件中的字体，我把大部分该成了</span>
				<?XML:NAMESPACE PREFIX = ST1 /?>
				<st1:chmetcnv unitname="pt" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">
						<span>10pt</span>
				</st1:chmetcnv>
				<span>(</span>
				<span>原来为</span>
				<span>x-small</span>
				<span style="FONT-SIZE: 10pt">
				</span>
				<span style="FONT-SIZE: 10pt">或</span>
				<span style="FONT-SIZE: 10pt">xx-small</span>
				<span>)</span>
				<span>，此文件为与</span>
				<span>zul.jar\web\zul\css\normie.css.dsp</span>
				<span>，然后再运行就是下图的样子了：</span>
		</p>
		<div forimg="1">
				<a href="http://hiphotos.baidu.com/zk_ajax/pic/item/d8a51deec78b57feb3fb957b.jpg" target="_blank">
						<img class="blogimg" border="0" src="http://hiphotos.baidu.com/zk_ajax/abpic/item/d8a51deec78b57feb3fb957b.jpg" width="200" height="144" small="1" />
				</a>
		</div>
		<br />
		<p>
				<span>感觉到变化了吧。</span>
		</p>
<img src ="http://www.blogjava.net/jasmine214--love/aggbug/325784.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-11 15:55 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325784.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ZK DEMO--在本地部署环境</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325783.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Sun, 11 Jul 2010 07:53:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325783.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/325783.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325783.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/325783.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/325783.html</trackback:ping><description><![CDATA[
		<p>
				<span>原文：<a href="http://hi.baidu.com/zk_ajax/blog/item/05c0f61133ce3d7fcb80c476.html">http://hi.baidu.com/zk_ajax/blog/item/05c0f61133ce3d7fcb80c476.html</a><br />班主任让人帮忙做一个教师管理系统，我看着是一个机会，就跟一位同学去了。算是接下了一个项目。另我吃惊的是可以有一小笔收入，心中暗喜。</span>
		</p>
		<p>
				<span>
						<span>       </span>
				</span>
				<span>接下来不好过了，后台技术足够了</span>
				<span>, </span>
				<span>缺一个做界面的，要是</span>
				<span>dorado</span>
				<span>不付费早用它了。接下来费了好大劲终于找到了一个开源的东西</span>
				<span>---zk</span>
				<span>，一个作界面的不二之选。</span>
		</p>
		<p>
				<span>
						<span>       </span>
				</span>
				<span>扯远了，接下来是正题。</span>
		</p>
		<p>
				<span>
						<span>    </span>
				</span>
				<span>可以在</span>
				<span>
						<a href="http://www.zkoss.org/">http://www.zkoss.org/</a>
				</span>
				<span>上下到有关</span>
				<span>zk</span>
				<span>需要的东西，</span>
				<span>我用的版本是</span>
				<span>zk-<?XML:NAMESPACE PREFIX = ST1 /?><st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.3.0</st1:chsdate>.zip</span>
				<span>。</span>
		</p>
		<p>
				<span>下面介绍如何在</span>
				<span>eclipse</span>
				<span>部署</span>
				<span>zk</span>
				<span>环境</span>
		</p>
		<p style="TEXT-INDENT: -18pt; MARGIN-LEFT: 18pt">
				<span>
						<span>(1)<span>    </span></span>
				</span>
				<span>打开</span>
				<span>eclipse, File-&gt;New-&gt;Project-&gt;Web-&gt;Dynamic Web Project</span>
				<span>，即新建一个动态网站，工程名为</span>
				<span>zkajax</span>
				<span>。我个人倾向于在</span>
				<span>Java Psrspective</span>
				<span>环境下工作。</span>
		</p>
		<p style="TEXT-INDENT: -18pt; MARGIN-LEFT: 18pt">
				<span>
						<span>(2)<span>    </span></span>
				</span>
				<span>将</span>
				<span>zk-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.3.0</st1:chsdate>\demo\src\zkdemo\WebContent </span>
				<span>下的文件放在工程中的对应位置</span>
		</p>
		<p style="TEXT-INDENT: -18pt; MARGIN-LEFT: 18pt">
				<span>
						<span>(3)<span>    </span></span>
				</span>
				<span>将</span>
				<span>zk-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.3.0</st1:chsdate>\zk-2.3.0\dist\lib </span>
				<span>下的所有</span>
				<span>jar</span>
				<span>引入路径</span>
				<span>(</span>
				<span>放在</span>
				<span>WEB-INF/lib </span>
				<span>下</span>
				<span>)</span>
		</p>
		<p style="TEXT-INDENT: -18pt; MARGIN-LEFT: 18pt">
				<span>
						<span>(4)<span>    </span></span>
				</span>
				<span>将</span>
				<span>zk-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899">2.3.0</st1:chsdate>\demo\src\zkdemo\src </span>
				<span>下的</span>
				<span>java</span>
				<span>文件放在</span>
				<span>工程的</span>
				<span>三</span>
				<span>src</span>
				<span>下</span>
		</p>
		<p style="TEXT-INDENT: -18pt; MARGIN-LEFT: 18pt">
				<span>
						<span>(5)<span>    </span></span>
				</span>
				<span>最后是下图的样子</span>
		</p>
		<p style="TEXT-INDENT: -18pt; MARGIN-LEFT: 18pt">
				<span>
				</span>
		</p>
		<div forimg="1">
				<a href="http://hiphotos.baidu.com/zk_ajax/pic/item/d041cfd46e507a05a18bb7e1.jpg" target="_blank">
						<img class="blogimg" border="0" src="http://hiphotos.baidu.com/zk_ajax/abpic/item/d041cfd46e507a05a18bb7e1.jpg" width="200" height="140" small="1" />
				</a>
		</div>
		<br />
		<p>
		</p>
		<p style="TEXT-INDENT: -18pt; MARGIN-LEFT: 18pt">
				<span>
						<span>(6)<span>    </span></span>
				</span>
				<span>运行，在工程</span>
				<span>zkajax</span>
				<span>上点右键</span>
				<span>-&gt;Run As-&gt;Run on Server</span>
				<span>，选中</span>
				<span>tomcat</span>
				<span>，点</span>
				<span>Finish</span>
				<span>即可，网页出来后点</span>
				<span>Zk Demo </span>
				<span>，效果图如下：</span>
		</p>
		<div forimg="1">
				<a href="http://hiphotos.baidu.com/zk_ajax/pic/item/75e6f71c594d5c8f87d6b6e1.jpg" target="_blank">
						<img class="blogimg" border="0" src="http://hiphotos.baidu.com/zk_ajax/abpic/item/75e6f71c594d5c8f87d6b6e1.jpg" small="1" />
				</a>
		</div>
<img src ="http://www.blogjava.net/jasmine214--love/aggbug/325783.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-11 15:53 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325783.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dynamic web project 和web project的区别</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325781.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Sun, 11 Jul 2010 07:20:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325781.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/325781.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325781.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/325781.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/325781.html</trackback:ping><description><![CDATA[有时会无聊的搜索一下这个简单的问题，如题<br />dynamic web project是Eclipse的项目，与其对应的有static web project，前者指动态web项目，包含一些动态代码，如java；而static web project则仅包含静态页面文件。 MyEclipse对Eclipse进行了扩展，如：web project可以添加一些开源的框架支持，比如Struts、Hibernate等等。也就是说，web project是Myeclipse扩展后的项目，而dynamic web project是Eclipse自带的分类，在Myeclipse中，web project具有dynamic web project特性并具有一些方便开发的集成功能。<br />原文：<a href="http://sunboyyyl.blog.163.com/blog/static/2247381201032323417/">http://sunboyyyl.blog.163.com/blog/static/2247381201032323417/</a><img src ="http://www.blogjava.net/jasmine214--love/aggbug/325781.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-11 15:20 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/11/325781.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JfreeChart--demo1</title><link>http://www.blogjava.net/jasmine214--love/archive/2010/07/06/325384.html</link><dc:creator>幻海蓝梦</dc:creator><author>幻海蓝梦</author><pubDate>Tue, 06 Jul 2010 09:33:00 GMT</pubDate><guid>http://www.blogjava.net/jasmine214--love/archive/2010/07/06/325384.html</guid><wfw:comment>http://www.blogjava.net/jasmine214--love/comments/325384.html</wfw:comment><comments>http://www.blogjava.net/jasmine214--love/archive/2010/07/06/325384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jasmine214--love/comments/commentRss/325384.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jasmine214--love/services/trackbacks/325384.html</trackback:ping><description><![CDATA[转自：<a href="http://hi.baidu.com/zh_m_zhou/blog/item/2772d017d9f39059f3de3218.html" target="_blank">http://hi.baidu.com/zh_m_zhou/blog/item/2772d017d9f39059f3de3218.html</a><br />
作者：pocky<br /><br />
JFreeChart是利用已知数据生成饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘的一个开源项
目。本demo的就是关于如何结合数据生成一个与之对应的饼图。<br /><br />
1. 环境：<br />
windowsXP，<br />
eclipse3.3，<br />
tomcat6.0，<br />
jfreechart-1.0.12<br /><br />
2，下载。到以下地址下载jfreechart-1.0.12的zip包<br />
http://www.jfree.org/jfreechart/index.html<br /><br />
3. 
在eclipse下新建一个web工程，解压刚下载的zip包，将其中的jcommon-1.0.15.jar和jfreechart-
1.0.12.jar复制到web工程的lib目录下<br /><br />
4. 新建一个servlet，方法如下：<br />
在web.xml中添加：<br /><font color="#3366ff">      &lt;servlet&gt;<br />
            &lt;servlet-name&gt;IndexServlet&lt;/servlet-name&gt;<br />
            
&lt;servlet-class&gt;com.demo.IndexServlet&lt;/servlet-class&gt;<br />
      &lt;/servlet&gt;<br />
      &lt;servlet-mapping&gt;<br />
            &lt;servlet-name&gt;IndexServlet&lt;/servlet-name&gt;<br />
            &lt;url-pattern&gt;/index.do&lt;/url-pattern&gt;<br />
      &lt;/servlet-mapping&gt;</font><br />
新建类，内容如下：<br /><font color="#3366ff">package com.demo;<br /><br />
import java.awt.Font;<br />
import java.io.IOException;<br />
import javax.servlet.ServletException;<br />
import javax.servlet.http.HttpServlet;<br />
import javax.servlet.http.HttpServletRequest;<br />
import javax.servlet.http.HttpServletResponse;<br />
import org.jfree.chart.ChartFactory;<br />
import org.jfree.chart.ChartUtilities;<br />
import org.jfree.chart.JFreeChart;<br />
import org.jfree.chart.plot.PiePlot;<br />
import org.jfree.chart.title.TextTitle;<br />
import org.jfree.data.general.DefaultPieDataset;<br /><br />
public class IndexServlet extends HttpServlet{<br /><br />
      /**<br />
       * 获取一个演示用的简单数据集对象<br />
       * @return<br />
       */<br />
      private static DefaultPieDataset getDataSet() {<br />
          DefaultPieDataset dataset = new DefaultPieDataset();<br />
          dataset.setValue("苹果",100);<br />
          dataset.setValue("梨子",200);<br />
          dataset.setValue("葡萄",300);<br />
          dataset.setValue("香蕉",400);<br />
          dataset.setValue("荔枝",500);<br />
          return dataset;<br />
      }<br /><br />
      @Override<br />
      protected void doGet(HttpServletRequest req, HttpServletResponse 
resp)<br />
                  throws ServletException, IOException {<br />
            this.doPost(req,resp);<br />
      }<br /><br />
      @Override<br />
      protected void doPost(HttpServletRequest req, HttpServletResponse 
resp)<br />
                  throws ServletException, IOException {<br />
            resp.setCharacterEncoding("gb2312");<br />
            resp.setContentType("image/jpeg");<br />
          DefaultPieDataset data=getDataSet();<br />
          <br />
          JFreeChart chart=ChartFactory.createPieChart3D("水果产量图", data, 
true, false, false);<br />
          <br />
          Font font = new Font("SimSun", 10, 20); <br />
          TextTitle txtTitle = null; <br />
          txtTitle = chart.getTitle(); <br />
          txtTitle.setFont(font); <br />
          PiePlot pieplot = (PiePlot)chart.getPlot(); <br />
          pieplot.setLabelFont(font); <br />
          chart.getLegend().setItemFont(font); <br />
          <br />
          try {<br />
              ChartUtilities.writeChartAsJPEG(resp.getOutputStream(), 
chart, 600, 400);<br />
              System.out.print("OK");<br />
              
//this.getServletContext().getRequestDispatcher("/index2.jsp").forward(req,
 resp);<br />
          } catch (IOException e) {<br />
              // TODO Auto-generated catch block<br />
              e.printStackTrace();<br />
          }<br />
      } <br />
}<br /></font><br />
5.将工程部署到tomcat下，启动tomcat，访问http://server/appName/index.do。至此，一个简单的demo完
成。<br /><br />
参考文档：<br />
JFREECHART DEMO1<br />
http://blog.sina.com.cn/s/blog_4ce6c3f80100bydr.html<br />
JFREECHART DEMO2<br />
http://hi.baidu.com/javafanc/blog/item/7da708b544fc16c936d3cade.html<br />
JFREECHART 乱码<br />
http://topic.csdn.net/u/20071207/11/41ef3b10-043b-496e-8dd6-a501b4c2932c.html<img src ="http://www.blogjava.net/jasmine214--love/aggbug/325384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jasmine214--love/" target="_blank">幻海蓝梦</a> 2010-07-06 17:33 <a href="http://www.blogjava.net/jasmine214--love/archive/2010/07/06/325384.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>