<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/alonely" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/alonely" type="application/rss+xml"></fs:self_link><lastBuildDate>Tue, 07 Oct 2008 19:51:28 GMT</lastBuildDate><title>alonely Blog</title><description>致力于J2EE的专业博客</description><link>http://www.3y11.com</link><language>zh-CN</language><pubDate>Tue, 07 Oct 2008 19:51:28 GMT</pubDate><item><title>QQ、淘宝旺旺接口调用</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867106/4941940/1/item.html</link><content:encoded>&lt;p&gt;想必大家在浏览网页的时候，经常会看见网页中挂有QQ或者是淘宝旺旺的头像，并且如果对方在线的话头像是亮的，否则头像是暗的。当你点击该头像的时候，就会弹出跟平时一样的聊天效果，很不错吧！~其实这个功能QQ和淘宝旺旺已经给我们提供了调用接口，我们只要按照他们的规则调用，实现起来是非常简单的。&lt;/p&gt;
&lt;p&gt;OK，下面我就分别给大家介绍一下QQ和淘宝旺旺的接口是如何调用的，并且我会为大家讲解里面主要参数的作用：&lt;/p&gt;
&lt;p&gt;&lt;b&gt;首先是QQ的调用方法：&lt;br /&gt;
&lt;/b&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#f3f3f3&quot;&gt;&amp;lt;a href=&amp;quot;tencent://message/?uin=328877476&amp;amp;Site=3y11&amp;amp;Menu=yes&amp;quot; &amp;gt;&lt;br /&gt;
             &amp;lt;img src=&amp;quot;http://wpa.qq.com/pa?p=1:328877476:7&amp;quot; border=&amp;quot;0&amp;quot; alt=&amp;quot;QQ接口&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/a&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
代码就是上面的两行，非常简单吧。其中链接参数里的&lt;span style=&quot;color: #ff0000&quot;&gt;uin&lt;/span&gt;后面跟的是你的QQ号码，至于img中的参数&lt;span style=&quot;color: #ff0000&quot;&gt;p=1:328877476:7&lt;/span&gt;中的&lt;b&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;7&lt;/span&gt;&lt;/b&gt;是QQ头像的图案，你可以试着改变一下，看看效果。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;然后是淘宝旺旺的调用方法：&lt;br /&gt;
&lt;/b&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#f3f3f3&quot;&gt;&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;http://amos1.taobao.com/msg.ww?v=2&amp;amp;uid=alonely1983&amp;amp;site=cntaobao&amp;amp;s=2&amp;quot; &amp;gt;&lt;br /&gt;
             &amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;http://amos1.taobao.com/online.ww?v=2&amp;amp;uid=alonely1983&amp;amp;site=cntaobao&amp;amp;s=2&amp;quot; alt=&amp;quot;旺旺接口&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/a&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
代码也不多，其中链接参数里的&lt;span style=&quot;color: #ff0000&quot;&gt;uid&lt;/span&gt;后面跟的是你的淘宝旺旺号，至于img中的参数&lt;span style=&quot;color: #ff0000&quot;&gt;s=2&lt;/span&gt;中的&lt;b&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;2&lt;/span&gt;&lt;/b&gt;是淘宝旺旺头像的图案。&lt;/p&gt;
&lt;p&gt;至于其他的参数都是很基本的HTML代码了，我这里就不介绍啦，如果大家有不理解的地方，请在文章下面留言，我会耐心为大家解答的。&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=273&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 类似于QQ弹出窗口的JavaScript代码&quot;&gt;类似于QQ弹出窗口的JavaScript代码(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=195&amp;lm_id=Spring专栏&quot; title=&quot;Permanent Link to Spring之完全面向接口的设计&quot;&gt;Spring之完全面向接口的设计(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;想必大家在浏览网页的时候，经常会看见网页中挂有QQ或者是淘宝旺旺的头像，并且如果对方在线的话头像是亮的，否则头像是暗的。当你点击该头像的时候，就会弹出跟平时一样的聊天效果，很不错吧！~其实这个功能QQ和淘宝旺旺已经给我们提供了调用接口，我们只要按照他们的规则调用，实现起来是非常简单的。&lt;/p&gt;
&lt;p&gt;OK，下面我就分别给大家介绍一下QQ和淘宝旺旺的接口是如何调用的，并且我会为大家讲解里面主要参数的作用：&lt;/p&gt;
&lt;p&gt;&lt;b&gt;首先是QQ的调用方法：&lt;br /&gt;
&lt;/b&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#f3f3f3&quot;&gt;&amp;lt;a href=&amp;quot;tencent://message/?uin=328877476&amp;amp;Site=3y11&amp;amp;Menu=yes&amp;quot; &amp;gt;&lt;br /&gt;
             &amp;lt;img src=&amp;quot;http://wpa.qq.com/pa?p=1:328877476:7&amp;quot; border=&amp;quot;0&amp;quot; alt=&amp;quot;QQ接口&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/a&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
代码就是上面的两行，非常简单吧。其中链接参数里的&lt;span style=&quot;color: #ff0000&quot;&gt;uin&lt;/span&gt;后面跟的是你的QQ号码，至于img中的参数&lt;span style=&quot;color: #ff0000&quot;&gt;p=1:328877476:7&lt;/span&gt;中的&lt;b&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;7&lt;/span&gt;&lt;/b&gt;是QQ头像的图案，你可以试着改变一下，看看效果。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;然后是淘宝旺旺的调用方法：&lt;br /&gt;
&lt;/b&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#f3f3f3&quot;&gt;&amp;lt;a target=&amp;quot;_blank&amp;quot; href=&amp;quot;http://amos1.taobao.com/msg.ww?v=2&amp;amp;uid=alonely1983&amp;amp;site=cntaobao&amp;amp;s=2&amp;quot; &amp;gt;&lt;br /&gt;
             &amp;lt;img border=&amp;quot;0&amp;quot; src=&amp;quot;http://amos1.taobao.com/online.ww?v=2&amp;amp;uid=alonely1983&amp;amp;site=cntaobao&amp;amp;s=2&amp;quot; alt=&amp;quot;旺旺接口&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/a&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
代码也不多，其中链接参数里的&lt;span style=&quot;color: #ff0000&quot;&gt;uid&lt;/span&gt;后面跟的是你的淘宝旺旺号，至于img中的参数&lt;span style=&quot;color: #ff0000&quot;&gt;s=2&lt;/span&gt;中的&lt;b&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;2&lt;/span&gt;&lt;/b&gt;是淘宝旺旺头像的图案。&lt;/p&gt;
&lt;p&gt;至于其他的参数都是很基本的HTML代码了，我这里就不介绍啦，如果大家有不理解的地方，请在文章下面留言，我会耐心为大家解答的。&lt;/p&gt;</description><category>淘宝旺旺</category><category>接口</category><category>解析插件</category><category>qq</category><pubDate>Wed, 08 Oct 2008 03:51:28 +0800</pubDate><author>alonely</author><comments>http://www.3y11.com/look_article.asp?id=281&amp;lm_id=解析插件#respond</comments><guid isPermaLink="false">http://www.3y11.com/look_article.asp?id=281&amp;lm_id=解析插件</guid><dc:creator>alonely</dc:creator><fs:srclink>http://www.3y11.com/look_article.asp?id=281&amp;lm_id=解析插件</fs:srclink><fs:srcfeed>http://www.3y11.com/feed/index.asp</fs:srcfeed><fs:itemid>feedsky/alonely/~6833846/121867106/4941940</fs:itemid></item><item><title>实用的小日历控件</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867107/4941940/1/item.html</link><content:encoded>&lt;p&gt;大家在给客户做系统的时候，经常会遇到的需求是做一个日历模块，其作用就是把预计每天要做的事情先记录到日历中，然后点击日历中的每一天，则会把事先记录好的信息显示出来。下面我就把我在项目中的日历模块与大家分享一下。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;首先&lt;/b&gt;，给大家截个图直观的看一下我的小日历控件：&lt;br /&gt;
&lt;img height=&quot;221&quot; alt=&quot;&quot; width=&quot;195&quot; src=&quot;/userfiles/image/xiaorili.JPG&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;然后&lt;/b&gt;，给出HTML的调用代码：&lt;br /&gt;
&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是HTML调用代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;&lt;br /&gt;
            实用小日历控件&lt;br /&gt;
            &amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
            function returndate(vvdate){&lt;br /&gt;
             &lt;span style=&quot;color: #008080&quot;&gt;//点日历&lt;/span&gt;&lt;br /&gt;
             if( vvdate == &amp;quot;&amp;quot; || vvdate == &amp;quot;&amp;amp;nbsp;&amp;quot; ){return ;}&lt;br /&gt;
             var nowDate = formatDate(today.getFullYear(),today.getMonth() + 1,vvdate);&lt;br /&gt;
             var left = screen.width/2 - 250;&lt;br /&gt;
             var top = screen.height/2 - 350;&lt;br /&gt;
             var sFeatures=&amp;quot;left=&amp;quot;+left+&amp;quot;,top=&amp;quot;+top+&amp;quot;,height=550,width=700,status=no,menubar=no,location=no,scrollbars=yes&amp;quot;;&lt;br /&gt;
             window.open(&amp;quot;?checkdate=&amp;quot;+nowDate,&amp;quot;calendaronedateaddwindow&amp;quot;,sFeatures);&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;script language=&amp;quot;JavaScript&amp;quot; src=&amp;quot;simpleCalendar.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;link href=&amp;quot;css/calendar.css&amp;quot; type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;table style=&amp;quot;width:200px;&amp;quot; class=&amp;quot;table1&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;&lt;br /&gt;
               &amp;lt;span id=&amp;quot;spanshowcalleft&amp;quot; style=&amp;quot;display:block; height:150px;  width:98%;  z-index:100 &amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;showcal(&amp;quot;spanshowcalleft&amp;quot;);&amp;lt;/script&amp;gt;&lt;br /&gt;
               &amp;lt;/span&amp;gt;&lt;br /&gt;
              &amp;lt;/td&amp;gt;&lt;br /&gt;
             &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;最后&lt;/b&gt;，如果有需要这个小日历控件的话请点击下载：&lt;a href=&quot;http://www.3y11.com/userfiles/file_jar/xiaorilikongjian.rar&quot;&gt;日历控件&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=267&amp;lm_id=解析插件&quot; title=&quot;Permanent Link to 实用的时间控件&quot;&gt;实用的时间控件(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;大家在给客户做系统的时候，经常会遇到的需求是做一个日历模块，其作用就是把预计每天要做的事情先记录到日历中，然后点击日历中的每一天，则会把事先记录好的信息显示出来。下面我就把我在项目中的日历模块与大家分享一下。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;首先&lt;/b&gt;，给大家截个图直观的看一下我的小日历控件：&lt;br /&gt;
&lt;img height=&quot;221&quot; alt=&quot;&quot; width=&quot;195&quot; src=&quot;/userfiles/image/xiaorili.JPG&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;然后&lt;/b&gt;，给出HTML的调用代码：&lt;br /&gt;
&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是HTML调用代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;&lt;br /&gt;
            实用小日历控件&lt;br /&gt;
            &amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
            function returndate(vvdate){&lt;br /&gt;
             &lt;span style=&quot;color: #008080&quot;&gt;//点日历&lt;/span&gt;&lt;br /&gt;
             if( vvdate == &amp;quot;&amp;quot; || vvdate == &amp;quot;&amp;amp;nbsp;&amp;quot; ){return ;}&lt;br /&gt;
             var nowDate = formatDate(today.getFullYear(),today.getMonth() + 1,vvdate);&lt;br /&gt;
             var left = screen.width/2 - 250;&lt;br /&gt;
             var top = screen.height/2 - 350;&lt;br /&gt;
             var sFeatures=&amp;quot;left=&amp;quot;+left+&amp;quot;,top=&amp;quot;+top+&amp;quot;,height=550,width=700,status=no,menubar=no,location=no,scrollbars=yes&amp;quot;;&lt;br /&gt;
             window.open(&amp;quot;?checkdate=&amp;quot;+nowDate,&amp;quot;calendaronedateaddwindow&amp;quot;,sFeatures);&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;script language=&amp;quot;JavaScript&amp;quot; src=&amp;quot;simpleCalendar.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;link href=&amp;quot;css/calendar.css&amp;quot; type=&amp;quot;text/css&amp;quot; rel=&amp;quot;stylesheet&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;table style=&amp;quot;width:200px;&amp;quot; class=&amp;quot;table1&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;&lt;br /&gt;
               &amp;lt;span id=&amp;quot;spanshowcalleft&amp;quot; style=&amp;quot;display:block; height:150px;  width:98%;  z-index:100 &amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;showcal(&amp;quot;spanshowcalleft&amp;quot;);&amp;lt;/script&amp;gt;&lt;br /&gt;
               &amp;lt;/span&amp;gt;&lt;br /&gt;
              &amp;lt;/td&amp;gt;&lt;br /&gt;
             &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;最后&lt;/b&gt;，如果有需要这个小日历控件的话请点击下载：&lt;a href=&quot;http://www.3y11.com/userfiles/file_jar/xiaorilikongjian.rar&quot;&gt;日历控件&lt;/a&gt;&lt;/p&gt;</description><category>控件</category><category>解析插件</category><category>日历</category><pubDate>Sun, 05 Oct 2008 23:20:48 +0800</pubDate><author>alonely</author><comments>http://www.3y11.com/look_article.asp?id=280&amp;lm_id=解析插件#respond</comments><guid isPermaLink="false">http://www.3y11.com/look_article.asp?id=280&amp;lm_id=解析插件</guid><dc:creator>alonely</dc:creator><fs:srclink>http://www.3y11.com/look_article.asp?id=280&amp;lm_id=解析插件</fs:srclink><fs:srcfeed>http://www.3y11.com/feed/index.asp</fs:srcfeed><fs:itemid>feedsky/alonely/~6833846/121867107/4941940</fs:itemid></item><item><title>JSP自定义标签库之Select下拉框</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867108/4941940/1/item.html</link><content:encoded>&lt;p&gt;今天我给大家介绍的是JSP自定义标签库的一个具体应用，那就是在页面初始化的时候用JSP的自定义标签把后台的Select框在前台输出。&lt;/p&gt;
&lt;p&gt;当然，今天我给大家贴出的代码只是项目中的一个缩影，因为完整的代码太多了，所以我只能把核心的代码贴出来，并且我会提示大家怎么把这个标签做完整了，也就是通用性比较强的JSP自定义标签。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1、我这个例子中没有连接数据库，其实我的项目中是把数据库中的值，赋值到Select框中的。&lt;br /&gt;
2、我这个标签在前台只把name属性传过去了，其实大家可以扩展到：把要查询的表名、Select框中对应数据库中的查询字段（也就是Sql查询的字段）、Sql语句的排序方式、是否有默认值（修改功能时使用）、Select框的ID、等等，都在前台传过去。&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;这样你的JSP自定义标签通用性就非常的强了，至于好处我就不用多说了吧，可以在前台避免使用Scriplet（&amp;lt;%...%&amp;gt;），并且调用起来也非常的方便。&lt;/p&gt;
&lt;p&gt;Ok，下面请看完整的代码示例：&lt;br /&gt;
首先是web.xml的配置&lt;br /&gt;
&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是web.xml代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
            &amp;lt;web-app version=&amp;quot;2.4&amp;quot; &lt;br /&gt;
             xmlns=&amp;quot;http://java.sun.com/xml/ns/j2ee&amp;quot; &lt;br /&gt;
             xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; &lt;br /&gt;
             xsi:schemaLocation=&amp;quot;http://java.sun.com/xml/ns/j2ee &lt;br /&gt;
             http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;jsp-config&amp;gt;&lt;br /&gt;
              &amp;lt;taglib&amp;gt;&lt;br /&gt;
               &amp;lt;taglib-uri&amp;gt;/WEB-INF/alonely-tag.tld&amp;lt;/taglib-uri&amp;gt;&lt;br /&gt;
               &amp;lt;taglib-location&amp;gt;/WEB-INF/alonely-tag.tld&amp;lt;/taglib-location&amp;gt;&lt;br /&gt;
              &amp;lt;/taglib&amp;gt;&lt;br /&gt;
             &amp;lt;/jsp-config&amp;gt;&lt;br /&gt;
            &amp;lt;/web-app&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;然后是前台JSP页面&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是tagdemo.jsp代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;%@ page contentType=&amp;quot;text/html; charset=GBK&amp;quot; %&amp;gt;&lt;br /&gt;
            &amp;lt;%@ taglib uri=&amp;quot;/WEB-INF/alonely-tag.tld&amp;quot; prefix=&amp;quot;tag&amp;quot; %&amp;gt;&lt;br /&gt;
            &amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;JSP自定义标签示例&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;tag:select name=&amp;quot;type_id&amp;quot;&amp;gt;&amp;lt;/tag:select&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;在然后是tld文件&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是alonely-tag.tld代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
            &amp;lt;!DOCTYPE taglib PUBLIC &amp;quot;-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN&amp;quot; &amp;quot;http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;taglib&amp;gt;&lt;br /&gt;
             &amp;lt;tlibversion&amp;gt;1.0&amp;lt;/tlibversion&amp;gt;&lt;br /&gt;
             &amp;lt;jspversion&amp;gt;1.1&amp;lt;/jspversion&amp;gt;&lt;br /&gt;
             &amp;lt;shortname&amp;gt;alonely&amp;lt;/shortname&amp;gt;&lt;br /&gt;
             &amp;lt;tag&amp;gt;&lt;br /&gt;
              &amp;lt;name&amp;gt;select&amp;lt;/name&amp;gt;&lt;br /&gt;
              &amp;lt;tagclass&amp;gt;helloWorld.SelectTag&amp;lt;/tagclass&amp;gt;&lt;br /&gt;
              &amp;lt;attribute&amp;gt;&lt;br /&gt;
               &amp;lt;name&amp;gt;name&amp;lt;/name&amp;gt;&lt;br /&gt;
               &amp;lt;required&amp;gt;true&amp;lt;/required&amp;gt;&lt;br /&gt;
               &amp;lt;rtexprvalue&amp;gt;true&amp;lt;/rtexprvalue&amp;gt;&lt;br /&gt;
              &amp;lt;/attribute&amp;gt;&lt;br /&gt;
             &amp;lt;/tag&amp;gt;&lt;br /&gt;
            &amp;lt;/taglib&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;最后是后台的Java代码&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是SelectTag.java代码：&lt;br /&gt;
            &lt;/font&gt;package helloWorld;&lt;br /&gt;
            import javax.servlet.jsp.JspException;&lt;br /&gt;
            import java.io.*;&lt;br /&gt;
            import javax.servlet.jsp.tagext.BodyTagSupport;&lt;br /&gt;
            &lt;span style=&quot;color: #99ccff&quot;&gt;/**&lt;br /&gt;
             * &amp;lt;p&amp;gt;Title: tagDemo&amp;lt;/p&amp;gt;&lt;br /&gt;
             * &amp;lt;p&amp;gt;Description: Alonely Blog&amp;lt;/p&amp;gt;&lt;br /&gt;
             * &amp;lt;p&amp;gt;Copyright: Copyright (c) 2008-10-02&amp;lt;/p&amp;gt;&lt;br /&gt;
             * &amp;lt;p&amp;gt;Company: www.3y11.com&amp;lt;/p&amp;gt;&lt;br /&gt;
             * @author Alonely&lt;br /&gt;
             * @version 1.0&lt;br /&gt;
             */&lt;/span&gt;&lt;br /&gt;
            public class SelectTag extends BodyTagSupport {&lt;br /&gt;
             private String name;&lt;br /&gt;
             public void setName(String name) {&lt;br /&gt;
              this.name = name;&lt;br /&gt;
             }&lt;br /&gt;
             public String getName() {&lt;br /&gt;
              return name;&lt;br /&gt;
             }&lt;br /&gt;
             public int doStartTag() throws JspException {&lt;br /&gt;
              StringBuffer html = new StringBuffer();&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;select name='&amp;quot;).append(name).append(&amp;quot;'&amp;quot;).append(&amp;quot;&amp;gt;\n&amp;quot;);&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;option value='&amp;quot;).append(&amp;quot;J2SE&amp;quot;).append(&amp;quot;'&amp;gt;&amp;quot;).append(&amp;quot;J2SE&amp;quot;).append(&amp;quot;&amp;lt;/option&amp;gt;\n&amp;quot;);&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;option value='&amp;quot;).append(&amp;quot;J2EE&amp;quot;).append(&amp;quot;'&amp;gt;&amp;quot;).append(&amp;quot;J2EE&amp;quot;).append(&amp;quot;&amp;lt;/option&amp;gt;\n&amp;quot;);&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;option value='&amp;quot;).append(&amp;quot;Java&amp;quot;).append(&amp;quot;'&amp;gt;&amp;quot;).append(&amp;quot;Java&amp;quot;).append(&amp;quot;&amp;lt;/option&amp;gt;\n&amp;quot;);&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;/select&amp;gt;&amp;quot;);&lt;br /&gt;
              try {&lt;br /&gt;
               pageContext.getOut().println(html.toString());&lt;br /&gt;
              } catch (IOException ex) {&lt;br /&gt;
              }&lt;br /&gt;
              return EVAL_BODY_INCLUDE;&lt;br /&gt;
             }&lt;br /&gt;
             public int doEndTag() throws JspException {&lt;br /&gt;
              return (EVAL_PAGE);&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=278&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to Select multiple的添加、删除、与提交&quot;&gt;Select multiple的添加、删除、与提交(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=218&amp;lm_id=JSP2.0专栏&quot; title=&quot;Permanent Link to 利用JavaBean增强JSP&quot;&gt;利用JavaBean增强JSP(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=196&amp;lm_id=Struts专栏&quot; title=&quot;Permanent Link to 讲解Struts中Bean标签的使用&quot;&gt;讲解Struts中Bean标签的使用(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=190&amp;lm_id=JSP2.0专栏&quot; title=&quot;Permanent Link to 讲解JSP标签库编程&quot;&gt;讲解JSP标签库编程(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=189&amp;lm_id=Struts专栏&quot; title=&quot;Permanent Link to 讲解Struts中的Logic标签&quot;&gt;讲解Struts中的Logic标签(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=186&amp;lm_id=JSP2.0专栏&quot; title=&quot;Permanent Link to 讲解JSP安全性及config对象的应用&quot;&gt;讲解JSP安全性及config对象的应用(2)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=185&amp;lm_id=JSP2.0专栏&quot; title=&quot;Permanent Link to 讲解JSP中的Application与out对象&quot;&gt;讲解JSP中的Application与out对象(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=166&amp;lm_id=JSP2.0专栏&quot; title=&quot;Permanent Link to JSP之smartUpload上传示例&quot;&gt;JSP之smartUpload上传示例(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=164&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript之Select框的传值与删除&quot;&gt;JavaScript之Select框的传值与删除(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=133&amp;lm_id=ASP专栏&quot; title=&quot;Permanent Link to ASP预处理语句之Select查找篇&quot;&gt;ASP预处理语句之Select查找篇(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;今天我给大家介绍的是JSP自定义标签库的一个具体应用，那就是在页面初始化的时候用JSP的自定义标签把后台的Select框在前台输出。&lt;/p&gt;
&lt;p&gt;当然，今天我给大家贴出的代码只是项目中的一个缩影，因为完整的代码太多了，所以我只能把核心的代码贴出来，并且我会提示大家怎么把这个标签做完整了，也就是通用性比较强的JSP自定义标签。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;1、我这个例子中没有连接数据库，其实我的项目中是把数据库中的值，赋值到Select框中的。&lt;br /&gt;
2、我这个标签在前台只把name属性传过去了，其实大家可以扩展到：把要查询的表名、Select框中对应数据库中的查询字段（也就是Sql查询的字段）、Sql语句的排序方式、是否有默认值（修改功能时使用）、Select框的ID、等等，都在前台传过去。&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;这样你的JSP自定义标签通用性就非常的强了，至于好处我就不用多说了吧，可以在前台避免使用Scriplet（&amp;lt;%...%&amp;gt;），并且调用起来也非常的方便。&lt;/p&gt;
&lt;p&gt;Ok，下面请看完整的代码示例：&lt;br /&gt;
首先是web.xml的配置&lt;br /&gt;
&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是web.xml代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
            &amp;lt;web-app version=&amp;quot;2.4&amp;quot; &lt;br /&gt;
             xmlns=&amp;quot;http://java.sun.com/xml/ns/j2ee&amp;quot; &lt;br /&gt;
             xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; &lt;br /&gt;
             xsi:schemaLocation=&amp;quot;http://java.sun.com/xml/ns/j2ee &lt;br /&gt;
             http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;jsp-config&amp;gt;&lt;br /&gt;
              &amp;lt;taglib&amp;gt;&lt;br /&gt;
               &amp;lt;taglib-uri&amp;gt;/WEB-INF/alonely-tag.tld&amp;lt;/taglib-uri&amp;gt;&lt;br /&gt;
               &amp;lt;taglib-location&amp;gt;/WEB-INF/alonely-tag.tld&amp;lt;/taglib-location&amp;gt;&lt;br /&gt;
              &amp;lt;/taglib&amp;gt;&lt;br /&gt;
             &amp;lt;/jsp-config&amp;gt;&lt;br /&gt;
            &amp;lt;/web-app&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;然后是前台JSP页面&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是tagdemo.jsp代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;%@ page contentType=&amp;quot;text/html; charset=GBK&amp;quot; %&amp;gt;&lt;br /&gt;
            &amp;lt;%@ taglib uri=&amp;quot;/WEB-INF/alonely-tag.tld&amp;quot; prefix=&amp;quot;tag&amp;quot; %&amp;gt;&lt;br /&gt;
            &amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;JSP自定义标签示例&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;tag:select name=&amp;quot;type_id&amp;quot;&amp;gt;&amp;lt;/tag:select&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;在然后是tld文件&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是alonely-tag.tld代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
            &amp;lt;!DOCTYPE taglib PUBLIC &amp;quot;-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN&amp;quot; &amp;quot;http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;taglib&amp;gt;&lt;br /&gt;
             &amp;lt;tlibversion&amp;gt;1.0&amp;lt;/tlibversion&amp;gt;&lt;br /&gt;
             &amp;lt;jspversion&amp;gt;1.1&amp;lt;/jspversion&amp;gt;&lt;br /&gt;
             &amp;lt;shortname&amp;gt;alonely&amp;lt;/shortname&amp;gt;&lt;br /&gt;
             &amp;lt;tag&amp;gt;&lt;br /&gt;
              &amp;lt;name&amp;gt;select&amp;lt;/name&amp;gt;&lt;br /&gt;
              &amp;lt;tagclass&amp;gt;helloWorld.SelectTag&amp;lt;/tagclass&amp;gt;&lt;br /&gt;
              &amp;lt;attribute&amp;gt;&lt;br /&gt;
               &amp;lt;name&amp;gt;name&amp;lt;/name&amp;gt;&lt;br /&gt;
               &amp;lt;required&amp;gt;true&amp;lt;/required&amp;gt;&lt;br /&gt;
               &amp;lt;rtexprvalue&amp;gt;true&amp;lt;/rtexprvalue&amp;gt;&lt;br /&gt;
              &amp;lt;/attribute&amp;gt;&lt;br /&gt;
             &amp;lt;/tag&amp;gt;&lt;br /&gt;
            &amp;lt;/taglib&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;最后是后台的Java代码&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是SelectTag.java代码：&lt;br /&gt;
            &lt;/font&gt;package helloWorld;&lt;br /&gt;
            import javax.servlet.jsp.JspException;&lt;br /&gt;
            import java.io.*;&lt;br /&gt;
            import javax.servlet.jsp.tagext.BodyTagSupport;&lt;br /&gt;
            &lt;span style=&quot;color: #99ccff&quot;&gt;/**&lt;br /&gt;
             * &amp;lt;p&amp;gt;Title: tagDemo&amp;lt;/p&amp;gt;&lt;br /&gt;
             * &amp;lt;p&amp;gt;Description: Alonely Blog&amp;lt;/p&amp;gt;&lt;br /&gt;
             * &amp;lt;p&amp;gt;Copyright: Copyright (c) 2008-10-02&amp;lt;/p&amp;gt;&lt;br /&gt;
             * &amp;lt;p&amp;gt;Company: www.3y11.com&amp;lt;/p&amp;gt;&lt;br /&gt;
             * @author Alonely&lt;br /&gt;
             * @version 1.0&lt;br /&gt;
             */&lt;/span&gt;&lt;br /&gt;
            public class SelectTag extends BodyTagSupport {&lt;br /&gt;
             private String name;&lt;br /&gt;
             public void setName(String name) {&lt;br /&gt;
              this.name = name;&lt;br /&gt;
             }&lt;br /&gt;
             public String getName() {&lt;br /&gt;
              return name;&lt;br /&gt;
             }&lt;br /&gt;
             public int doStartTag() throws JspException {&lt;br /&gt;
              StringBuffer html = new StringBuffer();&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;select name='&amp;quot;).append(name).append(&amp;quot;'&amp;quot;).append(&amp;quot;&amp;gt;\n&amp;quot;);&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;option value='&amp;quot;).append(&amp;quot;J2SE&amp;quot;).append(&amp;quot;'&amp;gt;&amp;quot;).append(&amp;quot;J2SE&amp;quot;).append(&amp;quot;&amp;lt;/option&amp;gt;\n&amp;quot;);&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;option value='&amp;quot;).append(&amp;quot;J2EE&amp;quot;).append(&amp;quot;'&amp;gt;&amp;quot;).append(&amp;quot;J2EE&amp;quot;).append(&amp;quot;&amp;lt;/option&amp;gt;\n&amp;quot;);&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;option value='&amp;quot;).append(&amp;quot;Java&amp;quot;).append(&amp;quot;'&amp;gt;&amp;quot;).append(&amp;quot;Java&amp;quot;).append(&amp;quot;&amp;lt;/option&amp;gt;\n&amp;quot;);&lt;br /&gt;
              html.append(&amp;quot;&amp;lt;/select&amp;gt;&amp;quot;);&lt;br /&gt;
              try {&lt;br /&gt;
               pageContext.getOut().println(html.toString());&lt;br /&gt;
              } catch (IOException ex) {&lt;br /&gt;
              }&lt;br /&gt;
              return EVAL_BODY_INCLUDE;&lt;br /&gt;
             }&lt;br /&gt;
             public int doEndTag() throws JspException {&lt;br /&gt;
              return (EVAL_PAGE);&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;</description><category>select</category><category>自定义</category><category>JSP2.0专栏</category><category>标签</category><category>jsp</category><pubDate>Thu, 02 Oct 2008 02:02:31 +0800</pubDate><author>alonely</author><comments>http://www.3y11.com/look_article.asp?id=279&amp;lm_id=JSP2.0专栏#respond</comments><guid isPermaLink="false">http://www.3y11.com/look_article.asp?id=279&amp;lm_id=JSP2.0专栏</guid><dc:creator>alonely</dc:creator><fs:srclink>http://www.3y11.com/look_article.asp?id=279&amp;lm_id=JSP2.0专栏</fs:srclink><fs:srcfeed>http://www.3y11.com/feed/index.asp</fs:srcfeed><fs:itemid>feedsky/alonely/~6833846/121867108/4941940</fs:itemid></item><item><title>Select multiple的添加、删除、与提交</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867109/4941940/1/item.html</link><content:encoded>&lt;p&gt;今天我给大家介绍的是当把select下拉框设置为multiple属性的时候，是如何通过JavaScript来动态往里面添加元素、删除元素、与提交元素的。例子中我为了大家方便使用，在提交的时候把select框中的多个options组装成一个字符串的形式了，然后每个options中的值都用半角逗号分开了。并且下面的代码大家只要Copy到html页面中运行既能看到效果。&lt;/p&gt;
&lt;p&gt;OK，下面请看代码示例：&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Select multiple的添加、删除、与提交&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;script&amp;gt;&lt;br /&gt;
            function addSelect(value){&lt;br /&gt;
             var myselect = document.getElementById(&amp;quot;selectmultiple&amp;quot;);&lt;br /&gt;
             var op = document.createElement(&amp;quot;OPTION&amp;quot;);&lt;br /&gt;
             var flag = true;&lt;br /&gt;
             if(myselect.length != 0){&lt;br /&gt;
              for(var j=0; j&amp;lt;myselect.length; j++){&lt;br /&gt;
               if(value == myselect.options[j].value){&lt;br /&gt;
                flag = false;&lt;br /&gt;
                break;&lt;br /&gt;
               }&lt;br /&gt;
              }&lt;br /&gt;
             }&lt;br /&gt;
             if(flag){&lt;br /&gt;
              op.text = value;&lt;br /&gt;
              op.value = value;&lt;br /&gt;
              myselect.add(op);&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;br /&gt;
            function removeOption(){&lt;br /&gt;
             var myselect = document.getElementById(&amp;quot;selectmultiple&amp;quot;);&lt;br /&gt;
                myselect.remove(myselect.selectedIndex);&lt;br /&gt;
            }&lt;br /&gt;
            function submitForm(){&lt;br /&gt;
             var myselect = document.getElementById(&amp;quot;selectmultiple&amp;quot;);&lt;br /&gt;
             var selectstr = &amp;quot;&amp;quot;;&lt;br /&gt;
             for(var i=0; i&amp;lt;myselect.length; i++){&lt;br /&gt;
              if(selectstr == &amp;quot;&amp;quot;){&lt;br /&gt;
               selectstr += myselect.options[i].value;&lt;br /&gt;
              }else{&lt;br /&gt;
               selectstr += &amp;quot;,&amp;quot; + myselect.options[i].value;&lt;br /&gt;
              }&lt;br /&gt;
             }&lt;br /&gt;
             alert(selectstr);&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;select id=&amp;quot;selectmultiple&amp;quot; name=&amp;quot;selectmultiple&amp;quot; ondblclick=&amp;quot;removeOption()&amp;quot; style=&amp;quot;width:200px;&amp;quot; multiple=&amp;quot;multiple&amp;quot;&amp;gt;&amp;lt;/select&amp;gt;&lt;br /&gt;
            &amp;lt;br&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; onblur=&amp;quot;addSelect(this.value);&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;br&amp;gt;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;提交&amp;quot; onclick=&amp;quot;submitForm();&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=279&amp;lm_id=JSP2.0专栏&quot; title=&quot;Permanent Link to JSP自定义标签库之Select下拉框&quot;&gt;JSP自定义标签库之Select下拉框(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=276&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript动态添加行与列&quot;&gt;JavaScript动态添加行与列(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=164&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript之Select框的传值与删除&quot;&gt;JavaScript之Select框的传值与删除(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=161&amp;lm_id=J2SE专栏&quot; title=&quot;Permanent Link to Java之删除目录及目录下的所有内容&quot;&gt;Java之删除目录及目录下的所有内容(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=133&amp;lm_id=ASP专栏&quot; title=&quot;Permanent Link to ASP预处理语句之Select查找篇&quot;&gt;ASP预处理语句之Select查找篇(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;今天我给大家介绍的是当把select下拉框设置为multiple属性的时候，是如何通过JavaScript来动态往里面添加元素、删除元素、与提交元素的。例子中我为了大家方便使用，在提交的时候把select框中的多个options组装成一个字符串的形式了，然后每个options中的值都用半角逗号分开了。并且下面的代码大家只要Copy到html页面中运行既能看到效果。&lt;/p&gt;
&lt;p&gt;OK，下面请看代码示例：&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Select multiple的添加、删除、与提交&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;script&amp;gt;&lt;br /&gt;
            function addSelect(value){&lt;br /&gt;
             var myselect = document.getElementById(&amp;quot;selectmultiple&amp;quot;);&lt;br /&gt;
             var op = document.createElement(&amp;quot;OPTION&amp;quot;);&lt;br /&gt;
             var flag = true;&lt;br /&gt;
             if(myselect.length != 0){&lt;br /&gt;
              for(var j=0; j&amp;lt;myselect.length; j++){&lt;br /&gt;
               if(value == myselect.options[j].value){&lt;br /&gt;
                flag = false;&lt;br /&gt;
                break;&lt;br /&gt;
               }&lt;br /&gt;
              }&lt;br /&gt;
             }&lt;br /&gt;
             if(flag){&lt;br /&gt;
              op.text = value;&lt;br /&gt;
              op.value = value;&lt;br /&gt;
              myselect.add(op);&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;br /&gt;
            function removeOption(){&lt;br /&gt;
             var myselect = document.getElementById(&amp;quot;selectmultiple&amp;quot;);&lt;br /&gt;
                myselect.remove(myselect.selectedIndex);&lt;br /&gt;
            }&lt;br /&gt;
            function submitForm(){&lt;br /&gt;
             var myselect = document.getElementById(&amp;quot;selectmultiple&amp;quot;);&lt;br /&gt;
             var selectstr = &amp;quot;&amp;quot;;&lt;br /&gt;
             for(var i=0; i&amp;lt;myselect.length; i++){&lt;br /&gt;
              if(selectstr == &amp;quot;&amp;quot;){&lt;br /&gt;
               selectstr += myselect.options[i].value;&lt;br /&gt;
              }else{&lt;br /&gt;
               selectstr += &amp;quot;,&amp;quot; + myselect.options[i].value;&lt;br /&gt;
              }&lt;br /&gt;
             }&lt;br /&gt;
             alert(selectstr);&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;select id=&amp;quot;selectmultiple&amp;quot; name=&amp;quot;selectmultiple&amp;quot; ondblclick=&amp;quot;removeOption()&amp;quot; style=&amp;quot;width:200px;&amp;quot; multiple=&amp;quot;multiple&amp;quot;&amp;gt;&amp;lt;/select&amp;gt;&lt;br /&gt;
            &amp;lt;br&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; onblur=&amp;quot;addSelect(this.value);&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;br&amp;gt;&amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;提交&amp;quot; onclick=&amp;quot;submitForm();&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;</description><category>提交</category><category>multiple</category><category>select</category><category>JavaScript与Ajax</category><category>删除</category><category>添加</category><pubDate>Mon, 29 Sep 2008 00:52:02 +0800</pubDate><author>alonely</author><comments>http://www.3y11.com/look_article.asp?id=278&amp;lm_id=JavaScript与Ajax#respond</comments><guid isPermaLink="false">http://www.3y11.com/look_article.asp?id=278&amp;lm_id=JavaScript与Ajax</guid><dc:creator>alonely</dc:creator><fs:srclink>http://www.3y11.com/look_article.asp?id=278&amp;lm_id=JavaScript与Ajax</fs:srclink><fs:srcfeed>http://www.3y11.com/feed/index.asp</fs:srcfeed><fs:itemid>feedsky/alonely/~6833846/121867109/4941940</fs:itemid></item><item><title>用DWR验证前台字符串是否在后台的字符串中</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867110/4941940/1/item.html</link><content:encoded>&lt;p&gt;今天我在前面的《DWR入门小例子》一文之后在继续为大家演示DWR的使用，至于DWR的基本配置与工作原理详见《&lt;a target=&quot;_blank&quot; href=&quot;http://www.3y11.com/look_article.asp?id=269&amp;amp;lm_id=JavaScript与Ajax&quot;&gt;DWR入门小例子&lt;/a&gt;》。&lt;/p&gt;
&lt;p&gt;其实今天我演示的程序只是项目中的一个缩影，当用户在text文本框中输入数据的时候，判断此字符串是否在后台已经定义好的字符串中（为了方便演示我把在数据库中的判断改成判断已经定义好的字符串了）。如果应用到项目中，大家可以判断这个字符串是否在数据库中已经存在了，比如注册用户名的时候，当鼠标失去焦点，立刻告知该用户是否被注册了，等等。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #800000&quot;&gt;&lt;b&gt;Ok，下面请看具体的代码：&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;首先是前台JSP页面：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是checkString.jsp代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;%@ page language=&amp;quot;java&amp;quot; pageEncoding=&amp;quot;ISO-8859-1&amp;quot;%&amp;gt;&lt;br /&gt;
            &amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;html&amp;gt;&lt;br /&gt;
              &amp;lt;head&amp;gt;&lt;br /&gt;
                &amp;lt;title&amp;gt;checkString&amp;lt;/title&amp;gt;&lt;br /&gt;
             &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;dwr/util.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
             &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;dwr/engine.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
             &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;dwr/interface/checkExistMethod.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
             &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
             function checkExist(value){&lt;br /&gt;
                 checkExistMethod.execute(value,isExist);&lt;br /&gt;
                }&lt;br /&gt;
                function isExist(is){&lt;br /&gt;
                 if(is){&lt;br /&gt;
               alert(&amp;quot;Exist!&amp;quot;);&lt;br /&gt;
                   }else{&lt;br /&gt;
               alert(&amp;quot;Not Exist!&amp;quot;);       &lt;br /&gt;
                   }&lt;br /&gt;
             }&lt;br /&gt;
               &amp;lt;/script&amp;gt;&lt;br /&gt;
              &amp;lt;/head&amp;gt;&lt;br /&gt;
              &amp;lt;body&amp;gt;&lt;br /&gt;
                &amp;lt;input type=&amp;quot;text&amp;quot; onkeyup=&amp;quot;checkExist(this.value);&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;&lt;b&gt;然后是dwr.xml配置：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是dwr.xml代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
            &amp;lt;!DOCTYPE dwr PUBLIC &amp;quot;-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN&amp;quot; &amp;quot;http://getahead.ltd.uk/dwr/dwr20.dtd&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;dwr&amp;gt;&lt;br /&gt;
             &amp;lt;allow&amp;gt;&lt;br /&gt;
              &amp;lt;create javascript=&amp;quot;checkExistMethod&amp;quot; creator=&amp;quot;new&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;param name=&amp;quot;class&amp;quot; value=&amp;quot;helloWorld.CheckExist&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
                 &amp;lt;/create&amp;gt;&lt;br /&gt;
             &amp;lt;/allow&amp;gt;&lt;br /&gt;
            &amp;lt;/dwr&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;最后是后台的Java代码：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是CheckExist.java代码：&lt;br /&gt;
            &lt;/font&gt;package helloWorld;&lt;br /&gt;
            public class CheckExist {&lt;br /&gt;
             public boolean execute(String value) {&lt;br /&gt;
              String checkString = &amp;quot;12345&amp;quot;;&lt;br /&gt;
              if(checkString.indexOf(value) &amp;gt; -1){&lt;br /&gt;
               return true;&lt;br /&gt;
              }else{&lt;br /&gt;
               return false;&lt;br /&gt;
              }&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=269&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to DWR入门小例子&quot;&gt;DWR入门小例子(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;今天我在前面的《DWR入门小例子》一文之后在继续为大家演示DWR的使用，至于DWR的基本配置与工作原理详见《&lt;a target=&quot;_blank&quot; href=&quot;http://www.3y11.com/look_article.asp?id=269&amp;amp;lm_id=JavaScript与Ajax&quot;&gt;DWR入门小例子&lt;/a&gt;》。&lt;/p&gt;
&lt;p&gt;其实今天我演示的程序只是项目中的一个缩影，当用户在text文本框中输入数据的时候，判断此字符串是否在后台已经定义好的字符串中（为了方便演示我把在数据库中的判断改成判断已经定义好的字符串了）。如果应用到项目中，大家可以判断这个字符串是否在数据库中已经存在了，比如注册用户名的时候，当鼠标失去焦点，立刻告知该用户是否被注册了，等等。&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;color: #800000&quot;&gt;&lt;b&gt;Ok，下面请看具体的代码：&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;首先是前台JSP页面：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是checkString.jsp代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;%@ page language=&amp;quot;java&amp;quot; pageEncoding=&amp;quot;ISO-8859-1&amp;quot;%&amp;gt;&lt;br /&gt;
            &amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;html&amp;gt;&lt;br /&gt;
              &amp;lt;head&amp;gt;&lt;br /&gt;
                &amp;lt;title&amp;gt;checkString&amp;lt;/title&amp;gt;&lt;br /&gt;
             &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;dwr/util.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
             &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;dwr/engine.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
             &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;dwr/interface/checkExistMethod.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
             &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
             function checkExist(value){&lt;br /&gt;
                 checkExistMethod.execute(value,isExist);&lt;br /&gt;
                }&lt;br /&gt;
                function isExist(is){&lt;br /&gt;
                 if(is){&lt;br /&gt;
               alert(&amp;quot;Exist!&amp;quot;);&lt;br /&gt;
                   }else{&lt;br /&gt;
               alert(&amp;quot;Not Exist!&amp;quot;);       &lt;br /&gt;
                   }&lt;br /&gt;
             }&lt;br /&gt;
               &amp;lt;/script&amp;gt;&lt;br /&gt;
              &amp;lt;/head&amp;gt;&lt;br /&gt;
              &amp;lt;body&amp;gt;&lt;br /&gt;
                &amp;lt;input type=&amp;quot;text&amp;quot; onkeyup=&amp;quot;checkExist(this.value);&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;&lt;b&gt;然后是dwr.xml配置：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是dwr.xml代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
            &amp;lt;!DOCTYPE dwr PUBLIC &amp;quot;-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN&amp;quot; &amp;quot;http://getahead.ltd.uk/dwr/dwr20.dtd&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;dwr&amp;gt;&lt;br /&gt;
             &amp;lt;allow&amp;gt;&lt;br /&gt;
              &amp;lt;create javascript=&amp;quot;checkExistMethod&amp;quot; creator=&amp;quot;new&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;param name=&amp;quot;class&amp;quot; value=&amp;quot;helloWorld.CheckExist&amp;quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
                 &amp;lt;/create&amp;gt;&lt;br /&gt;
             &amp;lt;/allow&amp;gt;&lt;br /&gt;
            &amp;lt;/dwr&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;b&gt;最后是后台的Java代码：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是CheckExist.java代码：&lt;br /&gt;
            &lt;/font&gt;package helloWorld;&lt;br /&gt;
            public class CheckExist {&lt;br /&gt;
             public boolean execute(String value) {&lt;br /&gt;
              String checkString = &amp;quot;12345&amp;quot;;&lt;br /&gt;
              if(checkString.indexOf(value) &amp;gt; -1){&lt;br /&gt;
               return true;&lt;br /&gt;
              }else{&lt;br /&gt;
               return false;&lt;br /&gt;
              }&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;</description><category>JavaScript与Ajax</category><category>验证</category><category>字符串</category><category>dwr</category><pubDate>Fri, 26 Sep 2008 01:47:49 +0800</pubDate><author>alonely</author><comments>http://www.3y11.com/look_article.asp?id=277&amp;lm_id=JavaScript与Ajax#respond</comments><guid isPermaLink="false">http://www.3y11.com/look_article.asp?id=277&amp;lm_id=JavaScript与Ajax</guid><dc:creator>alonely</dc:creator><fs:srclink>http://www.3y11.com/look_article.asp?id=277&amp;lm_id=JavaScript与Ajax</fs:srclink><fs:srcfeed>http://www.3y11.com/feed/index.asp</fs:srcfeed><fs:itemid>feedsky/alonely/~6833846/121867110/4941940</fs:itemid></item><item><title>JavaScript动态添加行与列</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867111/4941940/1/item.html</link><content:encoded>&lt;p&gt;在以前的文章中，我给大家介绍过单独添加行的示例，详情请见：《&lt;a target=&quot;_blank&quot; href=&quot;http://www.3y11.com/look_article.asp?id=143&amp;amp;lm_id=JavaScript与Ajax&quot;&gt;JavaScript添加树节点示例&lt;/a&gt;》一文。今天我给大家介绍的是，在原来的基础上即可以添加行，也可以添加列的例子，其主要实现原理就是通过JavaScript来逐一查找树节点，然后添加子节点。代码虽然不是很多，但是非常的实用（我个人认为，因为在我做过的很多项目中都用到过）。&lt;/p&gt;
&lt;p&gt;Ok，下面请看具体的JavaScript动态添加行与列代码示例，并且以下代码直接Copy到Html页面中运行既能看到效果：&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;JavaScript动态添加行与列&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
            var trcount = 0;&lt;br /&gt;
            function addrows(index){&lt;br /&gt;
             trcount = trcount + 1;&lt;br /&gt;
             var trArray = document.getElementsByTagName(&amp;quot;tr&amp;quot;);&lt;br /&gt;
             var count = 0;&lt;br /&gt;
             for(var i = 0 ; i &amp;lt; trArray.length ; i++) {&lt;br /&gt;
              var trrows = document.getElementsByTagName(&amp;quot;tr&amp;quot;)[i];&lt;br /&gt;
              var tdcols = trrows.insertCell(index);&lt;br /&gt;
              if(count == i ) {&lt;br /&gt;
               tdcols.innerHTML ='J2EE';&lt;br /&gt;
              }&lt;br /&gt;
              count++;&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;br /&gt;
            function addcol(){&lt;br /&gt;
             var o=document.getElementById(&amp;quot;addTbl&amp;quot;).firstChild;&lt;br /&gt;
             var t=o.insertRow();&lt;br /&gt;
             a=t.insertCell();&lt;br /&gt;
             a.innerHTML='XML';&lt;br /&gt;
             for(var trid=0; trid&amp;lt;=trcount; trid++){&lt;br /&gt;
              a=t.insertCell();&lt;br /&gt;
              a.innerHTML='ASP';&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;addRow&amp;quot; onclick=&amp;quot;addrows(2)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;addCol&amp;quot; onClick=&amp;quot;addcol()&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table border=&amp;quot;1&amp;quot; id=&amp;quot;addTbl&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;Java&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;J2SE&amp;lt;/td&amp;gt;&lt;br /&gt;
             &amp;lt;/tr&amp;gt;&lt;br /&gt;
             &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;JavaScript&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;Ajax&amp;lt;/td&amp;gt;&lt;br /&gt;
             &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=278&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to Select multiple的添加、删除、与提交&quot;&gt;Select multiple的添加、删除、与提交(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=274&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript的全选、反选与ASP的后台取值&quot;&gt;JavaScript的全选、反选与ASP的后台取值(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=273&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 类似于QQ弹出窗口的JavaScript代码&quot;&gt;类似于QQ弹出窗口的JavaScript代码(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=230&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 用JavaScript实现大图随着小图变幻&quot;&gt;用JavaScript实现大图随着小图变幻(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=225&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 类似于Flash的JavaScript图片变幻代码&quot;&gt;类似于Flash的JavaScript图片变幻代码(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=164&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript之Select框的传值与删除&quot;&gt;JavaScript之Select框的传值与删除(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=151&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript版计算农历时间&quot;&gt;JavaScript版计算农历时间(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=150&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to &amp;lt;A href=“javascript：方法名”&amp;gt;请慎用&quot;&gt;&amp;lt;A href=“javascript：方法名”&amp;gt;请慎用(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=146&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to Java后台调用前台JavaScript实例&quot;&gt;Java后台调用前台JavaScript实例(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=143&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript添加树节点示例&quot;&gt;JavaScript添加树节点示例(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;在以前的文章中，我给大家介绍过单独添加行的示例，详情请见：《&lt;a target=&quot;_blank&quot; href=&quot;http://www.3y11.com/look_article.asp?id=143&amp;amp;lm_id=JavaScript与Ajax&quot;&gt;JavaScript添加树节点示例&lt;/a&gt;》一文。今天我给大家介绍的是，在原来的基础上即可以添加行，也可以添加列的例子，其主要实现原理就是通过JavaScript来逐一查找树节点，然后添加子节点。代码虽然不是很多，但是非常的实用（我个人认为，因为在我做过的很多项目中都用到过）。&lt;/p&gt;
&lt;p&gt;Ok，下面请看具体的JavaScript动态添加行与列代码示例，并且以下代码直接Copy到Html页面中运行既能看到效果：&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;JavaScript动态添加行与列&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
            var trcount = 0;&lt;br /&gt;
            function addrows(index){&lt;br /&gt;
             trcount = trcount + 1;&lt;br /&gt;
             var trArray = document.getElementsByTagName(&amp;quot;tr&amp;quot;);&lt;br /&gt;
             var count = 0;&lt;br /&gt;
             for(var i = 0 ; i &amp;lt; trArray.length ; i++) {&lt;br /&gt;
              var trrows = document.getElementsByTagName(&amp;quot;tr&amp;quot;)[i];&lt;br /&gt;
              var tdcols = trrows.insertCell(index);&lt;br /&gt;
              if(count == i ) {&lt;br /&gt;
               tdcols.innerHTML ='J2EE';&lt;br /&gt;
              }&lt;br /&gt;
              count++;&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;br /&gt;
            function addcol(){&lt;br /&gt;
             var o=document.getElementById(&amp;quot;addTbl&amp;quot;).firstChild;&lt;br /&gt;
             var t=o.insertRow();&lt;br /&gt;
             a=t.insertCell();&lt;br /&gt;
             a.innerHTML='XML';&lt;br /&gt;
             for(var trid=0; trid&amp;lt;=trcount; trid++){&lt;br /&gt;
              a=t.insertCell();&lt;br /&gt;
              a.innerHTML='ASP';&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;addRow&amp;quot; onclick=&amp;quot;addrows(2)&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;addCol&amp;quot; onClick=&amp;quot;addcol()&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table border=&amp;quot;1&amp;quot; id=&amp;quot;addTbl&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;Java&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;J2SE&amp;lt;/td&amp;gt;&lt;br /&gt;
             &amp;lt;/tr&amp;gt;&lt;br /&gt;
             &amp;lt;tr&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;JavaScript&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;td&amp;gt;Ajax&amp;lt;/td&amp;gt;&lt;br /&gt;
             &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;</description><category>JavaScript与Ajax</category><category>javascript</category><category>添加</category><category>动态</category><pubDate>Tue, 23 Sep 2008 05:29:02 +0800</pubDate><author>alonely</author><comments>http://www.3y11.com/look_article.asp?id=276&amp;lm_id=JavaScript与Ajax#respond</comments><guid isPermaLink="false">http://www.3y11.com/look_article.asp?id=276&amp;lm_id=JavaScript与Ajax</guid><dc:creator>alonely</dc:creator><fs:srclink>http://www.3y11.com/look_article.asp?id=276&amp;lm_id=JavaScript与Ajax</fs:srclink><fs:srcfeed>http://www.3y11.com/feed/index.asp</fs:srcfeed><fs:itemid>feedsky/alonely/~6833846/121867111/4941940</fs:itemid></item><item><title>用JBoss IDE for Eclipse配置JBoss服务时错误解决</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867112/4941940/1/item.html</link><content:encoded>&lt;p&gt;今天我在用JBoss IDE for Eclipse工具配置EJB3.0环境的时候，在启动JBoss服务的时候，给我报了一个错误。详细信息如下：&lt;br /&gt;
&lt;span style=&quot;color: #ff0000&quot;&gt;A configuration error occurred during startup. Please verify the preference field with the prompt: JBoss JDK name&lt;/span&gt;&lt;br /&gt;
其实这个错误不是很难解决的，给我们提示的信息是：在服务启动的时候发送配置错误，请确认JDK的路径。&lt;/p&gt;
&lt;p&gt;然后我自己检查了一下JBoss IDE for Eclipse工具中JDK的路径，结果发现我的IDE工具安装时默认的是Java自动升级到的1.6版本中了，所以并不是完整的Java路径。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;解决的方法是：&lt;/b&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;在添加一个完整的JBoss JDK路径，并且把路径指到Java的安装目录就OK了&lt;/span&gt;。&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=215&amp;lm_id=解析插件&quot; title=&quot;Permanent Link to Eclipse中使用debug技术&quot;&gt;Eclipse中使用debug技术(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=206&amp;lm_id=解析插件&quot; title=&quot;Permanent Link to 讲解Eclipse、MyEclipse插件的基本使用&quot;&gt;讲解Eclipse、MyEclipse插件的基本使用(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=193&amp;lm_id=Server&quot; title=&quot;Permanent Link to 解析Tomcat服务器的目录结构&quot;&gt;解析Tomcat服务器的目录结构(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=88&amp;lm_id=Server&quot; title=&quot;Permanent Link to 将VPN服务器置于防火墙后方&quot;&gt;将VPN服务器置于防火墙后方(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=83&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript与Ajax写的自动选择最快的镜像服务器&quot;&gt;JavaScript与Ajax写的自动选择最快的镜像服务器(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;今天我在用JBoss IDE for Eclipse工具配置EJB3.0环境的时候，在启动JBoss服务的时候，给我报了一个错误。详细信息如下：&lt;br /&gt;
&lt;span style=&quot;color: #ff0000&quot;&gt;A configuration error occurred during startup. Please verify the preference field with the prompt: JBoss JDK name&lt;/span&gt;&lt;br /&gt;
其实这个错误不是很难解决的，给我们提示的信息是：在服务启动的时候发送配置错误，请确认JDK的路径。&lt;/p&gt;
&lt;p&gt;然后我自己检查了一下JBoss IDE for Eclipse工具中JDK的路径，结果发现我的IDE工具安装时默认的是Java自动升级到的1.6版本中了，所以并不是完整的Java路径。&lt;/p&gt;
&lt;p&gt;&lt;b&gt;解决的方法是：&lt;/b&gt;&lt;span style=&quot;color: #ff0000&quot;&gt;在添加一个完整的JBoss JDK路径，并且把路径指到Java的安装目录就OK了&lt;/span&gt;。&lt;/p&gt;</description><category>解决</category><category>配置</category><category>EJB与Jboss</category><category>服务</category><category>jboss</category><category>ide</category><category>错误</category><category>eclipse</category><pubDate>Sat, 20 Sep 2008 08:12:43 +0800</pubDate><author>alonely</author><comments>http://www.3y11.com/look_article.asp?id=275&amp;lm_id=EJB与Jboss#respond</comments><guid isPermaLink="false">http://www.3y11.com/look_article.asp?id=275&amp;lm_id=EJB与Jboss</guid><dc:creator>alonely</dc:creator><fs:srclink>http://www.3y11.com/look_article.asp?id=275&amp;lm_id=EJB与Jboss</fs:srclink><fs:srcfeed>http://www.3y11.com/feed/index.asp</fs:srcfeed><fs:itemid>feedsky/alonely/~6833846/121867112/4941940</fs:itemid></item><item><title>JavaScript的全选、反选与ASP的后台取值</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867113/4941940/1/item.html</link><content:encoded>&lt;p&gt;想必用过淘宝的朋友们都看见过，在管理自己店铺的时候会有一个全选与反选功能，通过这个功能可以批量的处理数据，使用起来是即方便又美观。今天我就给大家演示一下这个功能，并且附带用ASP在后台是如何取值的。&lt;/p&gt;
&lt;p&gt;我这个Demo程序演示的是用全选与反选功能在前台页面选择后，在后台做批量删除的。其实需要注意的地方只有一点，&lt;span style=&quot;color: #ff0000&quot;&gt;那就是ASP在后台获取ID字符串的时候是带有空格的，我们只需要用trim()函数过滤一下就行了&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;下面请看具体的代码：&lt;br /&gt;
&lt;b&gt;首先给出前台页面代码：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是demo.html代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
            function selectAll(){&lt;br /&gt;
             var flag = false;&lt;br /&gt;
             if (theForm.all_check.checked){&lt;br /&gt;
              flag = true;&lt;br /&gt;
             }&lt;br /&gt;
             for (var i=0; i&amp;lt;theForm.elements.length; i++){&lt;br /&gt;
                 var obj = theForm.elements(i);&lt;br /&gt;
                 if (obj.type == &amp;quot;checkbox&amp;quot; &amp;amp;&amp;amp; obj.name == &amp;quot;id_l&amp;quot;){&lt;br /&gt;
                    obj.checked = flag;&lt;br /&gt;
                 }&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
            function reselectAll(){&lt;br /&gt;
             for(var i=0; i&amp;lt;theForm.elements.length; i++){&lt;br /&gt;
              var obj = theForm.elements(i);&lt;br /&gt;
              if((obj.type == &amp;quot;checkbox&amp;quot;) &amp;amp;&amp;amp; (obj.name == &amp;quot;id_l&amp;quot;)){&lt;br /&gt;
               if(obj.checked){&lt;br /&gt;
                obj.checked = false;&lt;br /&gt;
               }else{&lt;br /&gt;
                obj.checked = true;&lt;br /&gt;
               }&lt;br /&gt;
              }&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;form name=&amp;quot;theForm&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table width=&amp;quot;200&amp;quot; border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;all_check&amp;quot; onclick=&amp;quot;selectAll();&amp;quot;&amp;gt;全选&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;res_check&amp;quot; onclick=&amp;quot;reselectAll();&amp;quot;&amp;gt;反选&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;id_l&amp;quot; name=&amp;quot;id_l&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;id_l&amp;quot; name=&amp;quot;id_l&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;&lt;b&gt;然后是后台的获取参数与批量处理：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;delid_arry = trim(request.form(&amp;quot;id_l&amp;quot;))&lt;br /&gt;
            delid = split(delid_arry, &amp;quot;,&amp;quot;)&lt;br /&gt;
            For i=0 To Ubound(delid)&lt;br /&gt;
              conn.execute(&amp;quot;delete from 表名 where id = &amp;quot;&amp;amp;&lt;span style=&quot;color: #ff0000&quot;&gt;trim(delid(i))&lt;/span&gt;&amp;amp;&amp;quot;&amp;quot;)&lt;br /&gt;
            Next&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=276&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript动态添加行与列&quot;&gt;JavaScript动态添加行与列(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=273&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 类似于QQ弹出窗口的JavaScript代码&quot;&gt;类似于QQ弹出窗口的JavaScript代码(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=245&amp;lm_id=ASP专栏&quot; title=&quot;Permanent Link to Asp分组分页程序（类似于百度、Google）&quot;&gt;Asp分组分页程序（类似于百度、Google）(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=234&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 解决ASP中Ajax乱码问题&quot;&gt;解决ASP中Ajax乱码问题(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=230&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 用JavaScript实现大图随着小图变幻&quot;&gt;用JavaScript实现大图随着小图变幻(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=228&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to ASP结合Ajax检测用户名是否存在&quot;&gt;ASP结合Ajax检测用户名是否存在(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=225&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 类似于Flash的JavaScript图片变幻代码&quot;&gt;类似于Flash的JavaScript图片变幻代码(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=175&amp;lm_id=ASP专栏&quot; title=&quot;Permanent Link to 用ASP获取Rss Feed实例（二）&quot;&gt;用ASP获取Rss Feed实例（二）(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=174&amp;lm_id=ASP专栏&quot; title=&quot;Permanent Link to 用ASP获取Rss Feed实例（一）&quot;&gt;用ASP获取Rss Feed实例（一）(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=164&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript之Select框的传值与删除&quot;&gt;JavaScript之Select框的传值与删除(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;想必用过淘宝的朋友们都看见过，在管理自己店铺的时候会有一个全选与反选功能，通过这个功能可以批量的处理数据，使用起来是即方便又美观。今天我就给大家演示一下这个功能，并且附带用ASP在后台是如何取值的。&lt;/p&gt;
&lt;p&gt;我这个Demo程序演示的是用全选与反选功能在前台页面选择后，在后台做批量删除的。其实需要注意的地方只有一点，&lt;span style=&quot;color: #ff0000&quot;&gt;那就是ASP在后台获取ID字符串的时候是带有空格的，我们只需要用trim()函数过滤一下就行了&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;下面请看具体的代码：&lt;br /&gt;
&lt;b&gt;首先给出前台页面代码：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是demo.html代码：&lt;br /&gt;
            &lt;/font&gt;&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
            function selectAll(){&lt;br /&gt;
             var flag = false;&lt;br /&gt;
             if (theForm.all_check.checked){&lt;br /&gt;
              flag = true;&lt;br /&gt;
             }&lt;br /&gt;
             for (var i=0; i&amp;lt;theForm.elements.length; i++){&lt;br /&gt;
                 var obj = theForm.elements(i);&lt;br /&gt;
                 if (obj.type == &amp;quot;checkbox&amp;quot; &amp;amp;&amp;amp; obj.name == &amp;quot;id_l&amp;quot;){&lt;br /&gt;
                    obj.checked = flag;&lt;br /&gt;
                 }&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
            function reselectAll(){&lt;br /&gt;
             for(var i=0; i&amp;lt;theForm.elements.length; i++){&lt;br /&gt;
              var obj = theForm.elements(i);&lt;br /&gt;
              if((obj.type == &amp;quot;checkbox&amp;quot;) &amp;amp;&amp;amp; (obj.name == &amp;quot;id_l&amp;quot;)){&lt;br /&gt;
               if(obj.checked){&lt;br /&gt;
                obj.checked = false;&lt;br /&gt;
               }else{&lt;br /&gt;
                obj.checked = true;&lt;br /&gt;
               }&lt;br /&gt;
              }&lt;br /&gt;
             }&lt;br /&gt;
            }&lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;form name=&amp;quot;theForm&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table width=&amp;quot;200&amp;quot; border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;all_check&amp;quot; onclick=&amp;quot;selectAll();&amp;quot;&amp;gt;全选&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;res_check&amp;quot; onclick=&amp;quot;reselectAll();&amp;quot;&amp;gt;反选&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;id_l&amp;quot; name=&amp;quot;id_l&amp;quot; value=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;tr&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;lt;input type=&amp;quot;checkbox&amp;quot; id=&amp;quot;id_l&amp;quot; name=&amp;quot;id_l&amp;quot; value=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
              &amp;lt;/tr&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;/form&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;&lt;b&gt;然后是后台的获取参数与批量处理：&lt;/b&gt;&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;delid_arry = trim(request.form(&amp;quot;id_l&amp;quot;))&lt;br /&gt;
            delid = split(delid_arry, &amp;quot;,&amp;quot;)&lt;br /&gt;
            For i=0 To Ubound(delid)&lt;br /&gt;
              conn.execute(&amp;quot;delete from 表名 where id = &amp;quot;&amp;amp;&lt;span style=&quot;color: #ff0000&quot;&gt;trim(delid(i))&lt;/span&gt;&amp;amp;&amp;quot;&amp;quot;)&lt;br /&gt;
            Next&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;</description><category>JavaScript与Ajax</category><category>asp</category><category>javascript</category><pubDate>Wed, 17 Sep 2008 08:19:14 +0800</pubDate><author>alonely</author><comments>http://www.3y11.com/look_article.asp?id=274&amp;lm_id=JavaScript与Ajax#respond</comments><guid isPermaLink="false">http://www.3y11.com/look_article.asp?id=274&amp;lm_id=JavaScript与Ajax</guid><dc:creator>alonely</dc:creator><fs:srclink>http://www.3y11.com/look_article.asp?id=274&amp;lm_id=JavaScript与Ajax</fs:srclink><fs:srcfeed>http://www.3y11.com/feed/index.asp</fs:srcfeed><fs:itemid>feedsky/alonely/~6833846/121867113/4941940</fs:itemid></item><item><title>类似于QQ弹出窗口的JavaScript代码</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867114/4941940/1/item.html</link><content:encoded>&lt;p&gt;想必大家都使用过QQ、MSN、淘宝旺旺、等等的聊天软件吧。在软件运行的过程中，如果有好友上线了就会在桌面的右下角弹出一个小窗口来提示你好友上线的信息，假如你点击那个小窗口，则会弹出与该人聊天的页面，假如你不点击那个小窗口则过一会系统会把它自动隐藏起来。呵呵，这个功能看起来既美观又实用，真是不错呀！～&lt;/p&gt;
&lt;p&gt;OK，下面我就用Html代码和JavaScript代码来模仿一下QQ、MSN、淘宝旺旺、等等的聊天软件这一功能。&lt;br /&gt;
先给大家贴出来的是Html代码：&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#f3f3f3&quot;&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;类似于QQ弹出窗口的JavaScript代码示例&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;popmsg.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;script language=&amp;quot;javascript&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
            var MSG1 = new CLASS_MSN_MESSAGE(200,120,&amp;quot;短消息提示：&amp;quot;,&amp;quot;您有1封消息&amp;quot;,&amp;quot;点击查看&amp;quot;,&amp;quot;test.html&amp;quot;,1);  &lt;br /&gt;
            MSG1.rect(null,null,null,screen.height-50); &lt;br /&gt;
            MSG1.speed = 10; &lt;br /&gt;
            MSG1.step = 5; &lt;br /&gt;
            MSG1.show();  &lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;然后是JavaScript代码：
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是popmsg.js代码：&lt;br /&gt;
            &lt;/font&gt;function CLASS_MSN_MESSAGE(width,height,caption,title,message,href,id){  &lt;br /&gt;
                this.title  = title;  &lt;br /&gt;
                this.caption= caption;  &lt;br /&gt;
                this.message= message;&lt;br /&gt;
             this.href= href;&lt;br /&gt;
             this.id= id;&lt;br /&gt;
                this.width    = width?width:200;  &lt;br /&gt;
                this.height = height?height:120;  &lt;br /&gt;
                this.timeout= 150;  &lt;br /&gt;
                this.speed    = 20; &lt;br /&gt;
                this.step    = 1; &lt;br /&gt;
                this.right    = screen.width -1;  &lt;br /&gt;
                this.bottom = screen.height; &lt;br /&gt;
                this.left    = this.right - this.width; &lt;br /&gt;
                this.top    = this.bottom - this.height; &lt;br /&gt;
                this.timer    = 0; &lt;br /&gt;
                this.pause    = false;&lt;br /&gt;
                this.close    = false;&lt;br /&gt;
                this.autoHide    = true;&lt;br /&gt;
            }  &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.hide = function(){  &lt;br /&gt;
                if(this.onunload()){  &lt;br /&gt;
                    var offset  = this.height&amp;gt;this.bottom-this.top?this.height:this.bottom-this.top; &lt;br /&gt;
                    var me  = this;  &lt;br /&gt;
                    if(this.timer&amp;gt;0){   &lt;br /&gt;
                        window.clearInterval(me.timer);  &lt;br /&gt;
                    }  &lt;br /&gt;
                    var fun = function(){  &lt;br /&gt;
                        if(me.pause==false||me.close){&lt;br /&gt;
                            var x  = me.left; &lt;br /&gt;
                            var y  = 0; &lt;br /&gt;
                            var width = me.width; &lt;br /&gt;
                            var height = 0; &lt;br /&gt;
                            if(me.offset&amp;gt;0){ &lt;br /&gt;
                                height = me.offset; &lt;br /&gt;
                            } &lt;br /&gt;
                            y  = me.bottom - height; &lt;br /&gt;
                            if(y&amp;gt;=me.bottom){ &lt;br /&gt;
                                window.clearInterval(me.timer);  &lt;br /&gt;
                                me.Pop.hide();  &lt;br /&gt;
                            } else { &lt;br /&gt;
                                me.offset = me.offset - me.step;  &lt;br /&gt;
                            } &lt;br /&gt;
                            me.Pop.show(x,y,width,height);    &lt;br /&gt;
                        }             &lt;br /&gt;
                    }  &lt;br /&gt;
                    this.timer = window.setInterval(fun,this.speed)      &lt;br /&gt;
                }  &lt;br /&gt;
            }  &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.onunload = function() {  &lt;br /&gt;
                return true;  &lt;br /&gt;
            }  &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.oncommand = function(){  &lt;br /&gt;
                this.hide();  &lt;br /&gt;
            } &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.show = function(){  &lt;br /&gt;
                var oPopup = window.createPopup(); //IE5.5+  &lt;br /&gt;
                this.Pop = oPopup;  &lt;br /&gt;
                var w = this.width;  &lt;br /&gt;
                var h = this.height;  &lt;br /&gt;
                var str = &amp;quot;&amp;lt;DIV style='BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX: 99999; LEFT: 0px; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: &amp;quot; + w + &amp;quot;px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: &amp;quot; + h + &amp;quot;px; BACKGROUND-COLOR: #c9d3f3'&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TABLE style='BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid' cellSpacing=0 cellPadding=0 width='100%' bgColor=#cfdef4 border=0&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TD style='FONT-SIZE: 12px;COLOR: #0f2c8c' width=30 height=24&amp;gt;&amp;lt;/TD&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TD style='PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #1f336b; PADDING-TOP: 4px' vAlign=center width='100%'&amp;gt;&amp;quot; + this.caption + &amp;quot;&amp;lt;/TD&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TD style='PADDING-RIGHT: 2px; PADDING-TOP: 2px' vAlign=center align=right width=19&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;SPAN title=关闭 style='FONT-WEIGHT: bold; FONT-SIZE: 12px; CURSOR: hand; COLOR: red; MARGIN-RIGHT: 4px' id='btSysClose' &amp;gt;&amp;times;&amp;lt;/SPAN&amp;gt;&amp;lt;/TD&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/TR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TD style='PADDING-RIGHT: 1px;PADDING-BOTTOM: 1px' colSpan=3 height=&amp;quot; + (h-28) + &amp;quot;&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;DIV style='BORDER-RIGHT: #b9c9ef 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 8px; FONT-SIZE: 12px; PADDING-BOTTOM: 8px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 8px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%'&amp;gt;&amp;quot; + this.title + &amp;quot;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;DIV style='WORD-BREAK: break-all' align=left&amp;gt;&amp;lt;A href='&amp;quot;+this.href+&amp;quot;?id=&amp;quot;+this.id+&amp;quot;' hidefocus=false id='btCommand'&amp;gt;&amp;lt;FONT color=#ff0000&amp;gt;&amp;quot; + this.message + &amp;quot;&amp;lt;/FONT&amp;gt;&amp;lt;/A&amp;gt;&amp;lt;/DIV&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/DIV&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/TD&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/TR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/TABLE&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/DIV&amp;gt;&amp;quot;  &lt;br /&gt;
                oPopup.document.body.innerHTML = str; &lt;br /&gt;
                this.offset  = 0; &lt;br /&gt;
                var me  = this;  &lt;br /&gt;
                oPopup.document.body.onmouseover = function(){me.pause=true;}&lt;br /&gt;
                oPopup.document.body.onmouseout = function(){me.pause=false;}&lt;br /&gt;
                var fun = function(){  &lt;br /&gt;
                    var x  = me.left; &lt;br /&gt;
                    var y  = 0; &lt;br /&gt;
                    var width    = me.width; &lt;br /&gt;
                    var height    = me.height; &lt;br /&gt;
                        if(me.offset&amp;gt;me.height){ &lt;br /&gt;
                            height = me.height; &lt;br /&gt;
                        } else { &lt;br /&gt;
                            height = me.offset; &lt;br /&gt;
                        } &lt;br /&gt;
                    y  = me.bottom - me.offset; &lt;br /&gt;
                    if(y&amp;lt;=me.top){ &lt;br /&gt;
                        me.timeout--; &lt;br /&gt;
                        if(me.timeout==0){ &lt;br /&gt;
                            window.clearInterval(me.timer);  &lt;br /&gt;
                            if(me.autoHide){&lt;br /&gt;
                                me.hide(); &lt;br /&gt;
                            }&lt;br /&gt;
                        } &lt;br /&gt;
                    } else { &lt;br /&gt;
                        me.offset = me.offset + me.step; &lt;br /&gt;
                    } &lt;br /&gt;
                    me.Pop.show(x,y,width,height);    &lt;br /&gt;
                }  &lt;br /&gt;
                this.timer = window.setInterval(fun,this.speed)      &lt;br /&gt;
                var btClose = oPopup.document.getElementById(&amp;quot;btSysClose&amp;quot;);  &lt;br /&gt;
                btClose.onclick = function(){  &lt;br /&gt;
                    me.close = true;&lt;br /&gt;
                    me.hide();  &lt;br /&gt;
                }  &lt;br /&gt;
                var btCommand = oPopup.document.getElementById(&amp;quot;btCommand&amp;quot;);  &lt;br /&gt;
                btCommand.onclick = function(){  &lt;br /&gt;
                    me.oncommand(); &lt;br /&gt;
              window.open(btCommand.href);&lt;br /&gt;
                }    &lt;br /&gt;
            }  &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.speed = function(s){ &lt;br /&gt;
                var t = 20; &lt;br /&gt;
                try { &lt;br /&gt;
                    t = praseInt(s); &lt;br /&gt;
                } catch(e){} &lt;br /&gt;
                this.speed = t; &lt;br /&gt;
            } &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.step = function(s){ &lt;br /&gt;
                var t = 1; &lt;br /&gt;
                try { &lt;br /&gt;
                    t = praseInt(s); &lt;br /&gt;
                } catch(e){} &lt;br /&gt;
                this.step = t; &lt;br /&gt;
            } &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.rect = function(left,right,top,bottom){ &lt;br /&gt;
                try { &lt;br /&gt;
                    this.left        = left    !=null?left:this.right-this.width; &lt;br /&gt;
                    this.right        = right    !=null?right:this.left +this.width; &lt;br /&gt;
                    this.bottom        = bottom!=null?(bottom&amp;gt;screen.height?screen.height:bottom):screen.height; &lt;br /&gt;
                    this.top        = top    !=null?top:this.bottom - this.height; &lt;br /&gt;
                } catch(e){} &lt;br /&gt;
            }&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=281&amp;lm_id=解析插件&quot; title=&quot;Permanent Link to QQ、淘宝旺旺接口调用&quot;&gt;QQ、淘宝旺旺接口调用(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=276&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript动态添加行与列&quot;&gt;JavaScript动态添加行与列(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=274&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript的全选、反选与ASP的后台取值&quot;&gt;JavaScript的全选、反选与ASP的后台取值(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=230&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 用JavaScript实现大图随着小图变幻&quot;&gt;用JavaScript实现大图随着小图变幻(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=225&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to 类似于Flash的JavaScript图片变幻代码&quot;&gt;类似于Flash的JavaScript图片变幻代码(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=164&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript之Select框的传值与删除&quot;&gt;JavaScript之Select框的传值与删除(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=156&amp;lm_id=JSON与EXT2.0&quot; title=&quot;Permanent Link to 讲解EXT2.0弹出窗口&quot;&gt;讲解EXT2.0弹出窗口(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=151&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to JavaScript版计算农历时间&quot;&gt;JavaScript版计算农历时间(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=150&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to &amp;lt;A href=“javascript：方法名”&amp;gt;请慎用&quot;&gt;&amp;lt;A href=“javascript：方法名”&amp;gt;请慎用(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=146&amp;lm_id=JavaScript与Ajax&quot; title=&quot;Permanent Link to Java后台调用前台JavaScript实例&quot;&gt;Java后台调用前台JavaScript实例(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;想必大家都使用过QQ、MSN、淘宝旺旺、等等的聊天软件吧。在软件运行的过程中，如果有好友上线了就会在桌面的右下角弹出一个小窗口来提示你好友上线的信息，假如你点击那个小窗口，则会弹出与该人聊天的页面，假如你不点击那个小窗口则过一会系统会把它自动隐藏起来。呵呵，这个功能看起来既美观又实用，真是不错呀！～&lt;/p&gt;
&lt;p&gt;OK，下面我就用Html代码和JavaScript代码来模仿一下QQ、MSN、淘宝旺旺、等等的聊天软件这一功能。&lt;br /&gt;
先给大家贴出来的是Html代码：&lt;br /&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#f3f3f3&quot;&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
            &amp;lt;head&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;类似于QQ弹出窗口的JavaScript代码示例&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;popmsg.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;script language=&amp;quot;javascript&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
            var MSG1 = new CLASS_MSN_MESSAGE(200,120,&amp;quot;短消息提示：&amp;quot;,&amp;quot;您有1封消息&amp;quot;,&amp;quot;点击查看&amp;quot;,&amp;quot;test.html&amp;quot;,1);  &lt;br /&gt;
            MSG1.rect(null,null,null,screen.height-50); &lt;br /&gt;
            MSG1.speed = 10; &lt;br /&gt;
            MSG1.step = 5; &lt;br /&gt;
            MSG1.show();  &lt;br /&gt;
            &amp;lt;/script&amp;gt;&lt;br /&gt;
            &amp;lt;/head&amp;gt;&lt;br /&gt;
            &amp;lt;body&amp;gt;&lt;br /&gt;
            &amp;lt;/body&amp;gt;&lt;br /&gt;
            &amp;lt;/html&amp;gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;然后是JavaScript代码：
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;&lt;font style=&quot;font-weight: bold; color: #990000&quot;&gt;以下是popmsg.js代码：&lt;br /&gt;
            &lt;/font&gt;function CLASS_MSN_MESSAGE(width,height,caption,title,message,href,id){  &lt;br /&gt;
                this.title  = title;  &lt;br /&gt;
                this.caption= caption;  &lt;br /&gt;
                this.message= message;&lt;br /&gt;
             this.href= href;&lt;br /&gt;
             this.id= id;&lt;br /&gt;
                this.width    = width?width:200;  &lt;br /&gt;
                this.height = height?height:120;  &lt;br /&gt;
                this.timeout= 150;  &lt;br /&gt;
                this.speed    = 20; &lt;br /&gt;
                this.step    = 1; &lt;br /&gt;
                this.right    = screen.width -1;  &lt;br /&gt;
                this.bottom = screen.height; &lt;br /&gt;
                this.left    = this.right - this.width; &lt;br /&gt;
                this.top    = this.bottom - this.height; &lt;br /&gt;
                this.timer    = 0; &lt;br /&gt;
                this.pause    = false;&lt;br /&gt;
                this.close    = false;&lt;br /&gt;
                this.autoHide    = true;&lt;br /&gt;
            }  &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.hide = function(){  &lt;br /&gt;
                if(this.onunload()){  &lt;br /&gt;
                    var offset  = this.height&amp;gt;this.bottom-this.top?this.height:this.bottom-this.top; &lt;br /&gt;
                    var me  = this;  &lt;br /&gt;
                    if(this.timer&amp;gt;0){   &lt;br /&gt;
                        window.clearInterval(me.timer);  &lt;br /&gt;
                    }  &lt;br /&gt;
                    var fun = function(){  &lt;br /&gt;
                        if(me.pause==false||me.close){&lt;br /&gt;
                            var x  = me.left; &lt;br /&gt;
                            var y  = 0; &lt;br /&gt;
                            var width = me.width; &lt;br /&gt;
                            var height = 0; &lt;br /&gt;
                            if(me.offset&amp;gt;0){ &lt;br /&gt;
                                height = me.offset; &lt;br /&gt;
                            } &lt;br /&gt;
                            y  = me.bottom - height; &lt;br /&gt;
                            if(y&amp;gt;=me.bottom){ &lt;br /&gt;
                                window.clearInterval(me.timer);  &lt;br /&gt;
                                me.Pop.hide();  &lt;br /&gt;
                            } else { &lt;br /&gt;
                                me.offset = me.offset - me.step;  &lt;br /&gt;
                            } &lt;br /&gt;
                            me.Pop.show(x,y,width,height);    &lt;br /&gt;
                        }             &lt;br /&gt;
                    }  &lt;br /&gt;
                    this.timer = window.setInterval(fun,this.speed)      &lt;br /&gt;
                }  &lt;br /&gt;
            }  &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.onunload = function() {  &lt;br /&gt;
                return true;  &lt;br /&gt;
            }  &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.oncommand = function(){  &lt;br /&gt;
                this.hide();  &lt;br /&gt;
            } &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.show = function(){  &lt;br /&gt;
                var oPopup = window.createPopup(); //IE5.5+  &lt;br /&gt;
                this.Pop = oPopup;  &lt;br /&gt;
                var w = this.width;  &lt;br /&gt;
                var h = this.height;  &lt;br /&gt;
                var str = &amp;quot;&amp;lt;DIV style='BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX: 99999; LEFT: 0px; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: &amp;quot; + w + &amp;quot;px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: &amp;quot; + h + &amp;quot;px; BACKGROUND-COLOR: #c9d3f3'&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TABLE style='BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid' cellSpacing=0 cellPadding=0 width='100%' bgColor=#cfdef4 border=0&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TD style='FONT-SIZE: 12px;COLOR: #0f2c8c' width=30 height=24&amp;gt;&amp;lt;/TD&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TD style='PADDING-LEFT: 4px; FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #1f336b; PADDING-TOP: 4px' vAlign=center width='100%'&amp;gt;&amp;quot; + this.caption + &amp;quot;&amp;lt;/TD&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TD style='PADDING-RIGHT: 2px; PADDING-TOP: 2px' vAlign=center align=right width=19&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;SPAN title=关闭 style='FONT-WEIGHT: bold; FONT-SIZE: 12px; CURSOR: hand; COLOR: red; MARGIN-RIGHT: 4px' id='btSysClose' &amp;gt;&amp;times;&amp;lt;/SPAN&amp;gt;&amp;lt;/TD&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/TR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;TD style='PADDING-RIGHT: 1px;PADDING-BOTTOM: 1px' colSpan=3 height=&amp;quot; + (h-28) + &amp;quot;&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;DIV style='BORDER-RIGHT: #b9c9ef 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 8px; FONT-SIZE: 12px; PADDING-BOTTOM: 8px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 8px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%'&amp;gt;&amp;quot; + this.title + &amp;quot;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;DIV style='WORD-BREAK: break-all' align=left&amp;gt;&amp;lt;A href='&amp;quot;+this.href+&amp;quot;?id=&amp;quot;+this.id+&amp;quot;' hidefocus=false id='btCommand'&amp;gt;&amp;lt;FONT color=#ff0000&amp;gt;&amp;quot; + this.message + &amp;quot;&amp;lt;/FONT&amp;gt;&amp;lt;/A&amp;gt;&amp;lt;/DIV&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/DIV&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/TD&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/TR&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/TABLE&amp;gt;&amp;quot;  &lt;br /&gt;
                    str += &amp;quot;&amp;lt;/DIV&amp;gt;&amp;quot;  &lt;br /&gt;
                oPopup.document.body.innerHTML = str; &lt;br /&gt;
                this.offset  = 0; &lt;br /&gt;
                var me  = this;  &lt;br /&gt;
                oPopup.document.body.onmouseover = function(){me.pause=true;}&lt;br /&gt;
                oPopup.document.body.onmouseout = function(){me.pause=false;}&lt;br /&gt;
                var fun = function(){  &lt;br /&gt;
                    var x  = me.left; &lt;br /&gt;
                    var y  = 0; &lt;br /&gt;
                    var width    = me.width; &lt;br /&gt;
                    var height    = me.height; &lt;br /&gt;
                        if(me.offset&amp;gt;me.height){ &lt;br /&gt;
                            height = me.height; &lt;br /&gt;
                        } else { &lt;br /&gt;
                            height = me.offset; &lt;br /&gt;
                        } &lt;br /&gt;
                    y  = me.bottom - me.offset; &lt;br /&gt;
                    if(y&amp;lt;=me.top){ &lt;br /&gt;
                        me.timeout--; &lt;br /&gt;
                        if(me.timeout==0){ &lt;br /&gt;
                            window.clearInterval(me.timer);  &lt;br /&gt;
                            if(me.autoHide){&lt;br /&gt;
                                me.hide(); &lt;br /&gt;
                            }&lt;br /&gt;
                        } &lt;br /&gt;
                    } else { &lt;br /&gt;
                        me.offset = me.offset + me.step; &lt;br /&gt;
                    } &lt;br /&gt;
                    me.Pop.show(x,y,width,height);    &lt;br /&gt;
                }  &lt;br /&gt;
                this.timer = window.setInterval(fun,this.speed)      &lt;br /&gt;
                var btClose = oPopup.document.getElementById(&amp;quot;btSysClose&amp;quot;);  &lt;br /&gt;
                btClose.onclick = function(){  &lt;br /&gt;
                    me.close = true;&lt;br /&gt;
                    me.hide();  &lt;br /&gt;
                }  &lt;br /&gt;
                var btCommand = oPopup.document.getElementById(&amp;quot;btCommand&amp;quot;);  &lt;br /&gt;
                btCommand.onclick = function(){  &lt;br /&gt;
                    me.oncommand(); &lt;br /&gt;
              window.open(btCommand.href);&lt;br /&gt;
                }    &lt;br /&gt;
            }  &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.speed = function(s){ &lt;br /&gt;
                var t = 20; &lt;br /&gt;
                try { &lt;br /&gt;
                    t = praseInt(s); &lt;br /&gt;
                } catch(e){} &lt;br /&gt;
                this.speed = t; &lt;br /&gt;
            } &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.step = function(s){ &lt;br /&gt;
                var t = 1; &lt;br /&gt;
                try { &lt;br /&gt;
                    t = praseInt(s); &lt;br /&gt;
                } catch(e){} &lt;br /&gt;
                this.step = t; &lt;br /&gt;
            } &lt;br /&gt;
            CLASS_MSN_MESSAGE.prototype.rect = function(left,right,top,bottom){ &lt;br /&gt;
                try { &lt;br /&gt;
                    this.left        = left    !=null?left:this.right-this.width; &lt;br /&gt;
                    this.right        = right    !=null?right:this.left +this.width; &lt;br /&gt;
                    this.bottom        = bottom!=null?(bottom&amp;gt;screen.height?screen.height:bottom):screen.height; &lt;br /&gt;
                    this.top        = top    !=null?top:this.bottom - this.height; &lt;br /&gt;
                } catch(e){} &lt;br /&gt;
            }&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;</description><category>JavaScript与Ajax</category><category>javascript</category><category>窗口</category><category>qq</category><pubDate>Sun, 14 Sep 2008 02:24:24 +0800</pubDate><author>alonely</author><comments>http://www.3y11.com/look_article.asp?id=273&amp;lm_id=JavaScript与Ajax#respond</comments><guid isPermaLink="false">http://www.3y11.com/look_article.asp?id=273&amp;lm_id=JavaScript与Ajax</guid><dc:creator>alonely</dc:creator><fs:srclink>http://www.3y11.com/look_article.asp?id=273&amp;lm_id=JavaScript与Ajax</fs:srclink><fs:srcfeed>http://www.3y11.com/feed/index.asp</fs:srcfeed><fs:itemid>feedsky/alonely/~6833846/121867114/4941940</fs:itemid></item><item><title>Oracle的decode函数使用与汇总</title><link>http://item.feedsky.com/~feedsky/alonely/~6833846/121867115/4941940/1/item.html</link><content:encoded>&lt;p&gt;今天我在做项目的过程中遇到了这样需求，就是把一年中12个月的销售金额汇总出来。我的数据库是这样设计的，如下图：&lt;br /&gt;
&lt;img height=&quot;76&quot; alt=&quot;&quot; width=&quot;227&quot; src=&quot;/userfiles/image/oracle_decode1.JPG&quot; /&gt;&lt;br /&gt;
也就是用一个字段存储月份，然后在用一个字段存储金额。但是这样的表结构想汇总出一条记录可不是那么容易的。如下图：&lt;br /&gt;
&lt;img alt=&quot;&quot; src=&quot;/userfiles/image/oracle_decode.JPG&quot; /&gt;&lt;br /&gt;
我想要不是Oracle中给我们提供了decode函数，恐怕我们得单独写个算法啦。先解释一下Oracle的decode函数吧：&lt;br /&gt;
&lt;span style=&quot;color: #800000&quot;&gt;其实decode函数就相当于是if...else语句，也就是说判断第一个参数是否等于第二个参数，如果等于则走第三个参数，不等于走第四个参数。&lt;/span&gt;&lt;br /&gt;
下面请看具体代码：&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;select *&lt;br /&gt;
              from (select rs.*, rownum&lt;br /&gt;
                      from (select t.name,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 01, t.yue, 0)) as yue1,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 02, t.yue, 0)) as yue2,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 03, t.yue, 0)) as yue3,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 04, t.yue, 0)) as yue4,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 05, t.yue, 0)) as yue5,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 06, t.yue, 0)) as yue6,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 07, t.yue, 0)) as yue7,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 08, t.yue, 0)) as yue8,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 09, t.yue, 0)) as yue9,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 10, t.yue, 0)) as yue10,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 11, t.yue, 0)) as yue11,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 12, t.yue, 0)) as yue12&lt;br /&gt;
                              from TEST t&lt;br /&gt;
                             group by t.name&lt;br /&gt;
                             order by t.name) rs)&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;

&lt;h3&gt;更多相关文章&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=270&amp;lm_id=Oracle与Mysql&quot; title=&quot;Permanent Link to Oracle存储过程之Java中的split功能&quot;&gt;Oracle存储过程之Java中的split功能(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=266&amp;lm_id=Oracle与Mysql&quot; title=&quot;Permanent Link to Oracle存储过程之处理ID串&quot;&gt;Oracle存储过程之处理ID串(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=265&amp;lm_id=Oracle与Mysql&quot; title=&quot;Permanent Link to Oracle中时间类型的转换与运算&quot;&gt;Oracle中时间类型的转换与运算(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=261&amp;lm_id=JSP2.0专栏&quot; title=&quot;Permanent Link to 将查询出的每条记录均封装成JavaBean对象函数&quot;&gt;将查询出的每条记录均封装成JavaBean对象函数(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=258&amp;lm_id=Oracle与Mysql&quot; title=&quot;Permanent Link to Oracle中的树型结构关系查询(connect by prior start with)&quot;&gt;Oracle中的树型结构关系查询(connect by prior start with)(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=215&amp;lm_id=解析插件&quot; title=&quot;Permanent Link to Eclipse中使用debug技术&quot;&gt;Eclipse中使用debug技术(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=206&amp;lm_id=解析插件&quot; title=&quot;Permanent Link to 讲解Eclipse、MyEclipse插件的基本使用&quot;&gt;讲解Eclipse、MyEclipse插件的基本使用(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=202&amp;lm_id=Oracle与Mysql&quot; title=&quot;Permanent Link to 讲解Oracle中SQL*Plus的使用(五)之制作报表&quot;&gt;讲解Oracle中SQL*Plus的使用(五)之制作报表(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=201&amp;lm_id=Oracle与Mysql&quot; title=&quot;Permanent Link to 讲解Oracle中SQL*Plus的使用(四)之高级应用&quot;&gt;讲解Oracle中SQL*Plus的使用(四)之高级应用(0)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;look_article.asp?id=200&amp;lm_id=Oracle与Mysql&quot; title=&quot;Permanent Link to 讲解Oracle中SQL*Plus的使用(三)之文件操作&quot;&gt;讲解Oracle中SQL*Plus的使用(三)之文件操作(0)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded><description>&lt;p&gt;今天我在做项目的过程中遇到了这样需求，就是把一年中12个月的销售金额汇总出来。我的数据库是这样设计的，如下图：&lt;br /&gt;
&lt;img height=&quot;76&quot; alt=&quot;&quot; width=&quot;227&quot; src=&quot;/userfiles/image/oracle_decode1.JPG&quot; /&gt;&lt;br /&gt;
也就是用一个字段存储月份，然后在用一个字段存储金额。但是这样的表结构想汇总出一条记录可不是那么容易的。如下图：&lt;br /&gt;
&lt;img alt=&quot;&quot; src=&quot;/userfiles/image/oracle_decode.JPG&quot; /&gt;&lt;br /&gt;
我想要不是Oracle中给我们提供了decode函数，恐怕我们得单独写个算法啦。先解释一下Oracle的decode函数吧：&lt;br /&gt;
&lt;span style=&quot;color: #800000&quot;&gt;其实decode函数就相当于是if...else语句，也就是说判断第一个参数是否等于第二个参数，如果等于则走第三个参数，不等于走第四个参数。&lt;/span&gt;&lt;br /&gt;
下面请看具体代码：&lt;/p&gt;
&lt;p&gt;&lt;a name=&quot;content_maodian&quot;&gt;&lt;/a&gt;
&lt;table style=&quot;border-right: #cccccc 1px dotted; table-layout: fixed; border-top: #cccccc 1px dotted; border-left: #cccccc 1px dotted; border-bottom: #cccccc 1px dotted&quot; cellspacing=&quot;0&quot; cellpadding=&quot;6&quot; width=&quot;95%&quot; align=&quot;center&quot; border=&quot;0&quot;&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style=&quot;word-wrap: break-word&quot; bgcolor=&quot;#fdfddf&quot;&gt;select *&lt;br /&gt;
              from (select rs.*, rownum&lt;br /&gt;
                      from (select t.name,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 01, t.yue, 0)) as yue1,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 02, t.yue, 0)) as yue2,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 03, t.yue, 0)) as yue3,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 04, t.yue, 0)) as yue4,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 05, t.yue, 0)) as yue5,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 06, t.yue, 0)) as yue6,&lt;br /&gt;
                                   sum(decode(substr(t.month, 6, 2), 07, t.yue, 0)) as yue7,&lt;br /&gt;
                            