﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-少年阿宾-随笔分类-Javascript</title><link>http://www.blogjava.net/stevenjohn/category/52110.html</link><description>那些青春的岁月</description><language>zh-cn</language><lastBuildDate>Thu, 12 Sep 2013 08:12:30 GMT</lastBuildDate><pubDate>Thu, 12 Sep 2013 08:12:30 GMT</pubDate><ttl>60</ttl><item><title>JavaScript 函数定义方式</title><link>http://www.blogjava.net/stevenjohn/archive/2013/09/06/403755.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Fri, 06 Sep 2013 05:44:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2013/09/06/403755.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/403755.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2013/09/06/403755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/403755.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/403755.html</trackback:ping><description><![CDATA[<div>第一种：<strong><font color="#454545" face="Tahoma">最基本的作为一个本本分分的函数声明使用。</font></strong><br /><!--StartFragment -->



<div>&lt;%@&nbsp;page&nbsp;language="java"&nbsp;contentType="text/html;&nbsp;charset=UTF-8"<br />&nbsp;&nbsp;&nbsp;&nbsp;pageEncoding="UTF-8"%&gt;<br />&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN"&nbsp;"http://www.w3.org/TR/html4/loose.dtd"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;Validate&nbsp;Page&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;script&nbsp;type="text/javascript"&gt;<br />function&nbsp;validate(abin){<br />&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;lee=function(parameter){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;'hello,'+abin;<br />&nbsp;&nbsp;&nbsp;&nbsp;}(abin);<br />&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById("spanId").innerHTML=lee;<br />}<br />&lt;/script&gt;<br /><br />&lt;body&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id="divId"&nbsp;class="divs"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;id="button"&nbsp;type="button"&nbsp;value="请猛击"&nbsp;onclick="validate('varyall')"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;br/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;span&nbsp;id="spanId"&nbsp;class="spans"&gt;&lt;/span&gt;<br />&lt;/body&gt;<br />&lt;/html&gt; </div>&nbsp;<br /><br /><br />第二种：<br />&lt;%@ page language="java" contentType="text/html; charset=UTF-8"<br />&nbsp;&nbsp;&nbsp; pageEncoding="UTF-8"%&gt;<br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;Validate Page&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;script type="text/javascript"&gt;<br />var validate=function(abin){<br />&nbsp;&nbsp;&nbsp; var lee=function(parameter){<br />&nbsp;&nbsp;return 'hello,'+parameter;<br />&nbsp;}(abin);<br />&nbsp;document.getElementById("spanId").innerHTML=lee;<br />};<br />&lt;/script&gt;<br />&lt;body&gt;<br />&nbsp;&lt;div id="divId" class="divs"&gt;<br />&nbsp;&nbsp;&lt;input id="button" type="button" value="请猛击" onclick="validate('varyall')"/&gt;<br />&nbsp;&lt;/div&gt;<br />&nbsp;&lt;br/&gt;<br />&nbsp;&lt;span id="spanId" class="spans"&gt;&lt;/span&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /><br /><br />第三种：<br /><br />&lt;%@ page language="java" contentType="text/html; charset=UTF-8"<br />&nbsp;&nbsp;&nbsp; pageEncoding="UTF-8"%&gt;<br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;title&gt;Validate Page&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;script type="text/javascript"&gt;<br />var validate=new Function("abin",<br />&nbsp;&nbsp;"var lee=function(parameter){return 'hello,'+parameter;}(abin);document.getElementById('spanId').innerHTML=lee;");<br />&lt;/script&gt;<br />&lt;body&gt;<br />&nbsp;&lt;div id="divId" class="divs"&gt;<br />&nbsp;&nbsp;&lt;input id="button" type="button" value="请猛击" onclick="validate('who')"/&gt;<br />&nbsp;&lt;/div&gt;<br />&nbsp;&lt;br/&gt;<br />&nbsp;&lt;span id="spanId" class="spans"&gt;&lt;/span&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /><br /></div><img src ="http://www.blogjava.net/stevenjohn/aggbug/403755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2013-09-06 13:44 <a href="http://www.blogjava.net/stevenjohn/archive/2013/09/06/403755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>指定时间加载图片，加载不出来就显示文字</title><link>http://www.blogjava.net/stevenjohn/archive/2013/07/31/402199.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Wed, 31 Jul 2013 06:33:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2013/07/31/402199.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/402199.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2013/07/31/402199.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/402199.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/402199.html</trackback:ping><description><![CDATA[<p>&nbsp;&lt;script type="text/javascript" &gt;<br />&nbsp;&nbsp;var EventUtil = {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; addHandler: function (element, type, handler) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (element.addEventListener) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; element.addEventListener(type, handler, false);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else if (element.attachEvent) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; element.attachEvent("on" + type, handler);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; element["on" + type] = handler;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;};<br />&nbsp;&nbsp;&nbsp;EventUtil.addHandler(document, "DOMContentLoaded", function (event) {<br />&nbsp;&nbsp;&nbsp;&nbsp;setTimeout(function(){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var imgs=document.getElementsByTagName("img");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (var i =0; i&lt;=imgs.length;i++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var img=imgs[i];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var height,width;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height=img.naturalHeight;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width=img.naturalWidth;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((height==0&amp;&amp;width==0)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;img.src="";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;img.parentNode.parentNode.hidden=true;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var nid=img.getAttribute('nid');<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.getElementById('divNoneImg'+nid).style.display="block";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}, 2000);<br />&nbsp;&nbsp;&nbsp;});</p>
<p>&nbsp;&lt;/script&gt;</p><img src ="http://www.blogjava.net/stevenjohn/aggbug/402199.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2013-07-31 14:33 <a href="http://www.blogjava.net/stevenjohn/archive/2013/07/31/402199.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js中控制checkbox的选择以及table的显示与隐藏</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/30/386625.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Thu, 30 Aug 2012 11:50:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/30/386625.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/386625.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/30/386625.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/386625.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/386625.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->&lt;%@&nbsp;page&nbsp;language="java"&nbsp;contentType="text/html;&nbsp;charset=utf-8"<br />&nbsp;&nbsp;&nbsp;&nbsp;pageEncoding="utf-8"%&gt;<br />&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN"&nbsp;"http://www.w3.org/TR/html4/loose.dtd"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;script&nbsp;type="text/javascript"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;checkAll()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;m&nbsp;=&nbsp;document.getElementsByName("all")[0];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;s&nbsp;=&nbsp;document.getElementsByName("check");<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(m.checked)&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(&nbsp;var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;s.length;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s[i].checked&nbsp;=&nbsp;<span style="color: #0000FF; ">true</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(&nbsp;var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;s.length;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s[i].checked&nbsp;=&nbsp;<span style="color: #0000FF; ">false</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;checkEvery()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;m&nbsp;=&nbsp;document.getElementsByName("all")[0];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;s&nbsp;=&nbsp;document.getElementsByName("check");<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(&nbsp;var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;s.length;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(s[i].checked&amp;&amp;m.checked)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.checked&nbsp;=&nbsp;<span style="color: #0000FF; ">true</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.checked&nbsp;=&nbsp;<span style="color: #0000FF; ">false</span>;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;turn()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with&nbsp;(document)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;m&nbsp;=&nbsp;getElementById("change");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;n&nbsp;=&nbsp;getElementById("table");<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">if</span>&nbsp;(m.value&nbsp;==&nbsp;"收缩")&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.style.display&nbsp;=&nbsp;"none";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.value&nbsp;=&nbsp;"展开";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span style="color: #0000FF; ">else</span>&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.style.display&nbsp;=&nbsp;"block";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m.value&nbsp;=&nbsp;"收缩";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;table&nbsp;border="1"&nbsp;align="center"&nbsp;width="60%"&nbsp;id="table1"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;input&nbsp;type="checkbox"&nbsp;name="all"&nbsp;onclick="checkAll();"&gt;全选&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;input&nbsp;type="button"&nbsp;value="收缩"&nbsp;id="change"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onclick="turn();"&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;%<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;number&nbsp;=&nbsp;Integer.parseInt(request.getParameter("number"));<br />&nbsp;&nbsp;&nbsp;&nbsp;%&gt;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;table&nbsp;border="1"&nbsp;align="center"&nbsp;width="60%"&nbsp;id="table"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;%<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">for</span>&nbsp;(<span style="color: #0000FF; ">int</span>&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;number;&nbsp;i++)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;input&nbsp;type="checkbox"&nbsp;name="check"&nbsp;onclick="checkEvery()"&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;%=i%&gt;&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;%<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</div><img src ="http://www.blogjava.net/stevenjohn/aggbug/386625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-30 19:50 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/30/386625.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js获取复选框的值，及小技巧</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/30/386616.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Thu, 30 Aug 2012 09:45:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/30/386616.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/386616.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/30/386616.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/386616.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/386616.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">&lt;!-- 获取复选框的值--&gt;<br />&lt;script language=javascript&gt;<br />function c()<br />{<br />&nbsp;&nbsp; var c=document.getElementsByName("aaa");//getElement s ByName忘掉了一直没注意郁闷死<br />&nbsp;&nbsp; for( var i=0;i&lt;c.length;i++)<br />&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; if(c[i].checked)<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp; alert(c[i].value);<br />&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp; }<br />}<br />function d()<br />{<br />&nbsp;&nbsp; var check=document.getElementsByName("aaa");<br />&nbsp;&nbsp; for(i=0;i&lt;check.length;i++)<br />&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; //三元运算符，不知道为什么我用非（~）运算符，只能全选，只有选这个用了<br />&nbsp;&nbsp;&nbsp; check[i].checked=check[i].checked?false:true;<br />&nbsp;&nbsp; }<br />}<br />function e()<br />{<br />&nbsp;&nbsp; var check=document.getElementsByName("aaa");<br />&nbsp;&nbsp; for(i=0;i&lt;check.length;i++)<br />&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp; check[i].checked=true;<br />&nbsp;&nbsp; }<br />&nbsp;&nbsp;<br />}<br />&lt;/script&gt;</p><p style="margin: 0px; padding: 0px; color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; line-height: 25px; background-color: #ffffff; ">&lt;input type="checkbox" name="aaa" value="1" /&gt;1<br />&lt;input type="checkbox" name="aaa" value="2" /&gt;2<br />&lt;input type="checkbox" name="aaa" value="3" /&gt;3<br />&lt;input type="checkbox" name="aaa" value="4" /&gt;4<br />&lt;input type="checkbox" name="aaa" value="5" /&gt;5<br />&lt;input type="checkbox" name="aaa" value="6" /&gt;6<br />&lt;input type="button" value="选中查看" onclick="c()"/&gt;<br />&lt;input type="button" value="反选" onclick="d()" /&gt;<br />&lt;input type="button" value="全选" onclick="e()" /&gt;<br />&lt;br /&gt;<br /><br /><br />如果需要将复选框选中的值操作，可在循环里面加字符串拼接，每个用逗号隔开，在js里页面跳转，凭借的字符串如果是数组，作为url传递的参数，接手后不是数组，是字符串形式的，只要用函数分割就ok了。</p><img src ="http://www.blogjava.net/stevenjohn/aggbug/386616.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-30 17:45 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/30/386616.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript实现表格动态增加删除(二)</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386474.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Tue, 28 Aug 2012 15:55:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386474.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/386474.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386474.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/386474.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/386474.html</trackback:ping><description><![CDATA[<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;<br />&lt;title&gt;javascript实现表格动态增加删除&lt;/title&gt;</p>
<p>&lt;script&gt;<br />&nbsp;function addline() {<br />&nbsp;&nbsp;var table1=document.createElement("table");<br />&nbsp;&nbsp;var row=table1.insertRow();<br />&nbsp;&nbsp;var td1=row.insertCell();<br />&nbsp;&nbsp;td1.innerHTML=document.getElementById("name1").value;<br />&nbsp;&nbsp;var td2=row.insertCell();<br />&nbsp;&nbsp;td2.innerHTML=document.getElementById("age1").value;<br />&nbsp;&nbsp;var td3=row.insertCell();<br />&nbsp;&nbsp;td3.innerHTML='&lt;input type="button" value="删除" onclick="deleteRow(this.parentElement)" /&gt;';<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;document.getElementById("div1").appendChild(table1);&nbsp; <br />&nbsp;&nbsp;table1.setAttribute('border','1');<br />&nbsp;}<br />&nbsp;function deleteRow(obj) {<br />&nbsp;&nbsp;obj.parentElement.removeChild(obj);<br />&nbsp;}<br />&lt;/script&gt;<br />&lt;body&gt;<br />&nbsp;&lt;div id="div1" style=""&gt;<br />&nbsp;<br />&nbsp;&lt;/div&gt;<br />&nbsp;&lt;input type="text" name="name" id="name1" /&gt;<br />&nbsp;&lt;input type="text" name="age" id="age1" /&gt;<br />&nbsp;&lt;input type="button" value="PRESS" onclick="return addline();" /&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /></p><img src ="http://www.blogjava.net/stevenjohn/aggbug/386474.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-28 23:55 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/28/386474.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript实现表格动态增加</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386472.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Tue, 28 Aug 2012 15:24:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386472.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/386472.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386472.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/386472.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/386472.html</trackback:ping><description><![CDATA[<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;<br />&lt;title&gt;javascript实现表格动态增加&lt;/title&gt;</p>
<p>&lt;script&gt;<br />&nbsp;function addline() {<br />&nbsp;&nbsp;var table1=document.getElementById("tb1");<br />&nbsp;&nbsp;var row1=document.createElement("tr");<br />&nbsp;&nbsp;var td1=document.createElement("td");<br />&nbsp;&nbsp;var td2=document.createElement("td");<br />&nbsp;&nbsp;var td3=document.createElement("td");<br />&nbsp;&nbsp;var id1=document.getElementById("id1").value;<br />&nbsp;&nbsp;var name1=document.getElementById("name1").value;<br />&nbsp;&nbsp;var age1=document.getElementById("age1").value;<br />&nbsp;&nbsp;var txt1=document.createTextNode(id1);<br />&nbsp;&nbsp;var txt2=document.createTextNode(name1);<br />&nbsp;&nbsp;var txt3=document.createTextNode(age1);<br />&nbsp;&nbsp;td1.appendChild(txt1);<br />&nbsp;&nbsp;td2.appendChild(txt2);<br />&nbsp;&nbsp;td3.appendChild(txt3);<br />&nbsp;&nbsp;row1.appendChild(td1);<br />&nbsp;&nbsp;row1.appendChild(td2);<br />&nbsp;&nbsp;row1.appendChild(td3);<br />&nbsp;&nbsp;table1.appendChild(row1);<br />&nbsp;}<br />&nbsp;<br />&lt;/script&gt;<br />&lt;body id="bd"&gt;<br />&nbsp;&lt;table id="tb1" border="1"&gt;<br />&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&lt;td&gt;ID&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&lt;td&gt;NAME&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&lt;td&gt;AGE&lt;/td&gt;<br />&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;/table&gt;<br />&nbsp;&lt;input type="text" id="id1" /&gt;<br />&nbsp;&lt;input type="text" id="name1" /&gt;<br />&nbsp;&lt;input type="text" id="age1" /&gt;<br />&nbsp;&lt;br/&gt;<br />&nbsp;&lt;input type="button" value="PRESS" onclick="return addline();"/&gt; <br />&lt;/body&gt;<br />&lt;/html&gt;<br /></p><img src ="http://www.blogjava.net/stevenjohn/aggbug/386472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-28 23:24 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/28/386472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript实现表格动态增加删除(一)</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386471.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Tue, 28 Aug 2012 15:21:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386471.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/386471.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386471.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/386471.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/386471.html</trackback:ping><description><![CDATA[<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "<a href="http://www.w3.org/TR/html4/loose.dtd">http://www.w3.org/TR/html4/loose.dtd</a>"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;<br />&lt;title&gt;javascript实现表格动态增加删除&lt;/title&gt;</p>
<p>&lt;script&gt;<br />&nbsp;function addline() {<br />&nbsp;&nbsp;var tb = document.getElementById("mytable");<br />&nbsp;&nbsp;var row = tb.insertRow(tb.rows.length);<br />&nbsp;&nbsp;var colname = row.insertCell(row.cells.length);<br />&nbsp;&nbsp;var colage = row.insertCell(row.cells.length);<br />&nbsp;&nbsp;var colbutton = row.insertCell(row.cells.length);</p>
<p>&nbsp;&nbsp;colname.innerHTML = document.getElementById("name1").value;<br />&nbsp;&nbsp;colage.innerHTML = document.getElementById("age1").value;<br />&nbsp;&nbsp;colbutton.innerHTML = '&lt;input type="button" value="删除" onclick="deleteRow('<br />&nbsp;&nbsp;&nbsp;&nbsp;+ (tb.rows.length - 1) + ')" /&gt;'<br />&nbsp;}<br />&nbsp;function deleteRow(index) {<br />&nbsp;&nbsp;var tb = document.getElementById("mytable");<br />&nbsp;&nbsp;tb.deleteRow(index);<br />&nbsp;}<br />&lt;/script&gt;<br />&lt;body&gt;<br />&nbsp;&lt;table id="mytable" border="1"&gt;<br />&nbsp;&nbsp;&lt;tr&gt;<br />&nbsp;&nbsp;&nbsp;&lt;td&gt;NAME&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&lt;td&gt;AGE&lt;/td&gt;<br />&nbsp;&nbsp;&nbsp;&lt;td&gt;OPERATE&lt;/td&gt;<br />&nbsp;&nbsp;&lt;/tr&gt;<br />&nbsp;&lt;/table&gt;<br />&nbsp;&lt;input type="text" name="name" id="name1" /&gt;<br />&nbsp;&lt;input type="text" name="age" id="age1" /&gt;<br />&nbsp;&lt;input type="button" value="PRESS" onclick="return addline();" /&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /></p> <img src ="http://www.blogjava.net/stevenjohn/aggbug/386471.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-28 23:21 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/28/386471.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js动态创建，删除表格 </title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386459.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Tue, 28 Aug 2012 13:20:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386459.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/386459.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/28/386459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/386459.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/386459.html</trackback:ping><description><![CDATA[<p><strong>生成一个2000*5的表格，每个单元格的内容是行号+逗号+列号</strong> </p>
<p>方法一：使用createElement生成表格，使用insertRow和insertCell方法生成行列，单元格的内容使用innerHTML属性进行填充。 </p>
<p>方法二：使用createElement生成表格，使用CreateElement方法生成行列，单元格的内容使用了createTextNode方法填充。 </p>
<p>方法三：拼接表格innerHTML属性的字符串，使用字符串 += 操作符链接字符串 </p>
<p>方法四：拼接表格innerHTML属性的字符串，各个字符串追加数组里面，最后调用数组的join方法生成目标字符串。 </p>
<p>运行时间比较: </p>
<table style="border-bottom: black 1px solid; border-left: black 1px solid; border-collapse: collapse; border-top: black 1px solid; border-right: black 1px solid" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr height="24">
<td>方法</td>
<td>运行时间(ms)</td></tr></tbody>
<tbody>
<tr height="24">
<td>方法一</td>
<td>93037</td></tr>
<tr height="24">
<td>方法二</td>
<td>3341</td></tr>
<tr height="24">
<td>方法三</td>
<td>2795</td></tr>
<tr height="24">
<td>方法四</td>
<td>500</td></tr></tbody></table>
<p>具体的程序如下： </p><br />
<div style="border-bottom: black 1px solid; border-left: black 1px solid; background-color: silver; font-family: Courier New; border-top: black 1px solid; border-right: black 1px solid">&lt;html&gt;<br />&nbsp; &lt;head&gt;<br />&nbsp; &nbsp;&lt;title&gt;test page&lt;/title&gt;<br />&nbsp; &nbsp;&lt;script type='text/javascript'&gt;<br />&nbsp; &nbsp;&nbsp; &lt;!--<br />&nbsp;&nbsp;&nbsp;function createTable() {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; var t = document.createElement('table');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; for (var i = 0; i &lt; 2000; i++) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;var r = t.insertRow();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;for (var j = 0; j &lt; 5; j++) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;var c = r.insertCell();<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;c.innerHTML = i + ',' + j;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;document.getElementById('table1').appendChild(t);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;t.setAttribute('border', '1');<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;function createTable2() {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; var t = document.createElement('table');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; var b = document.createElement('tbody');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; for (var i = 0; i &lt; 2000; i++) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;var r = document.createElement('tr');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;for (var j = 0; j &lt; 5; j++) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;var c = document.createElement('td');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;var m = document.createTextNode(i + ',' + j);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;c.appendChild(m);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;r.appendChild(c);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;b.appendChild(r);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;t.appendChild(b);<br />&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;document.getElementById('table1').appendChild(t);<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;t.setAttribute('border', '1');<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;function createTable3() {<br />&nbsp;&nbsp;&nbsp;&nbsp;var data = '';<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;data += '&lt;table border=1&gt;&lt;tbody&gt;';<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; for (var i = 0; i &lt; 2000; i++) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;data += '&lt;tr&gt;';<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;for (var j = 0; j &lt; 5; j++) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;data += '&lt;td&gt;' + i + ',' + j + '&lt;/td&gt;';<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;data += '&lt;/tr&gt;';<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; data += '&lt;/tbody&gt;&lt;table&gt;';<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; document.getElementById('table1').innerHTML = data;<br />&nbsp;&nbsp;&nbsp;} 
<p>&nbsp;&nbsp;&nbsp;function createTable4() {<br />&nbsp;&nbsp;&nbsp;&nbsp;var data = new Array();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;data.push('&lt;table border=1&gt;&lt;tbody&gt;');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; for (var i = 0; i &lt; 2000; i++) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;data.push('&lt;tr&gt;');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;for (var j = 0; j &lt; 5; j++) {<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;data.push('&lt;td&gt;' + i + ',' + j + '&lt;/td&gt;');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;data.push('&lt;/tr&gt;');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; data.push('&lt;/tbody&gt;&lt;table&gt;');<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; document.getElementById('table1').innerHTML = data.join('');<br />&nbsp;&nbsp;&nbsp;} </p>
<p>&nbsp;&nbsp;&nbsp;function showFunctionRunTime(f) {<br />&nbsp;&nbsp;&nbsp;&nbsp;var t1 = new Date();<br />&nbsp;&nbsp;&nbsp;&nbsp;f();<br />&nbsp;&nbsp;&nbsp;&nbsp;var t2 = new Date();<br />&nbsp;&nbsp;&nbsp;&nbsp;alert(t2 - t1);<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp; &nbsp;&nbsp; //--&gt;<br />&nbsp; &nbsp;&lt;/script&gt;<br />&nbsp; &lt;/head&gt;<br />&nbsp;&lt;body&gt;<br />&nbsp;&nbsp;&lt;div id="table1" style="border: 1px solid black"&gt;<br />&nbsp;&nbsp;&lt;/div&gt; </p>
<p>&nbsp;&nbsp;&lt;script&gt;<br />&nbsp;&nbsp;&nbsp;showFunctionRunTime(createTable);<br />&nbsp;&nbsp;&nbsp;showFunctionRunTime(createTable2);<br />&nbsp;&nbsp;&nbsp;showFunctionRunTime(createTable3);<br />&nbsp;&nbsp;&nbsp;showFunctionRunTime(createTable4);<br />&nbsp;&nbsp;&lt;/script&gt;<br />&nbsp;&lt;/body&gt;<br />&lt;/html&gt; </p></div>
<p sizset="26" sizcache="1">原文出处：<a href="http://abaper.blogbus.com/logs/8278500.html"><font color="#336699">http://abaper.blogbus.com/logs/8278500.html</font></a><br />、<br /><br /><br /></p>
<p><strong>动态删除表格</strong>&nbsp;&nbsp;</p>
<p>&nbsp; 方法1：&nbsp;<br />&nbsp; &lt;table &nbsp; id=mxh &nbsp; border=1&gt; &nbsp; <br />&nbsp; &lt;tr&gt; &nbsp; <br />&nbsp; &lt;td&gt;第1行&lt;/td&gt;&lt;td &nbsp; onclick="deleteRow('mxh',this.parentElement.rowIndex)"&gt;删除本行&lt;/td&gt; &nbsp; <br />&nbsp; &lt;/tr&gt; &nbsp; <br />&nbsp; &lt;tr&gt; &nbsp; <br />&nbsp; &lt;td&gt;第2行&lt;/td&gt;&lt;td &nbsp; onclick="deleteRow('mxh',this.parentElement.rowIndex)"&gt;删除本行&lt;/td&gt; &nbsp; <br />&nbsp; &lt;/tr&gt;</p>
<p>&nbsp; &lt;/table&gt;&nbsp;</p>
<p>&lt;script&gt; &nbsp; <br />&nbsp; function &nbsp; deleteRow &nbsp; (tableID, &nbsp; rowIndex) &nbsp; { &nbsp; <br />&nbsp; &nbsp; &nbsp; var &nbsp; table &nbsp; =document.all[tableID] &nbsp; <br />&nbsp; &nbsp; &nbsp; table.deleteRow(rowIndex); &nbsp; <br />&nbsp; } &nbsp; &nbsp; <br />&nbsp; &lt;/script&gt;</p>
<p>方法2：</p>
<p>&lt;table &nbsp; id=mxh &nbsp; border=1&gt; &nbsp; <br />&nbsp; &lt;tr&gt; &nbsp; <br />&nbsp; &lt;td&gt;第1行&lt;/td&gt;&lt;td &nbsp; onclick="deleteRow(this.parentElement)"&gt;删除本行&lt;/td&gt; &nbsp; <br />&nbsp; &lt;/tr&gt; &nbsp; <br />&nbsp; &lt;tr&gt; &nbsp; <br />&nbsp; &lt;td&gt;第2行&lt;/td&gt;&lt;td &nbsp; onclick="deleteRow(this.parentElement)"&gt;删除本行&lt;/td&gt; &nbsp; <br />&nbsp; &lt;/tr&gt;</p>
<p>&nbsp; &lt;/table&gt;&nbsp;</p>
<p>&lt;script&gt; &nbsp; <br />&nbsp; function &nbsp; deleteRow &nbsp; (obj) &nbsp; {&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj.parentElement.removeChild(obj); &nbsp; <br />&nbsp; } &nbsp; &nbsp; <br />&nbsp; &lt;/script&gt;</p>
<div id="sharePanel" class="share_buttons" sizset="27" sizcache="1"><span>分享到：</span> <a class="share_sina" title="分享到新浪微博" name="sina" jquery1346158879674="3"></a><a class="share_qq" title="分享到腾讯微博" name="qq" jquery1346158879674="4"></a></div>
<p sizset="26" sizcache="1"><!--192.168.1.237--></p><img src ="http://www.blogjava.net/stevenjohn/aggbug/386459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-28 21:20 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/28/386459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dwr3实现消息精确推送详细步骤 </title><link>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382447.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Sat, 07 Jul 2012 07:10:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382447.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/382447.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382447.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/382447.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/382447.html</trackback:ping><description><![CDATA[<span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp; </span>这几天做项目，需要一个消息提醒功能，决定用<span style="font-family:Times New Roman">dwr</span>实现，在<span style="font-family:Times New Roman">dwr</span>官网和网上找了很多资料，也没实现精准推送，大多数的例子具体步骤写的不清楚，不怎么了解<span style="font-family:Times New Roman">dwr</span>的人看了也未必能看懂，反正我是没看懂，那时就决定，若自己实现了，一定将具体步骤写下来，希望能给那些和我一样的人一些帮助，若有不明白的，可以给小弟留言。我只写步骤，不写原理，下面开始。 <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp; </span>第一、在项目中引入<span style="font-family:Times New Roman">dwr.jar</span>，然后在<span style="font-family:Times New Roman">web.xml</span>中进行配置，配置如下：</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.directwebremoting.servlet.DwrServlet</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/servlet-class&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;crossDomainSessionSecurity&lt;/param-name&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;false&lt;/param-value&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;param-name&gt;allowScriptTagRemoting&lt;/param-name&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;param-value&gt;true&lt;/param-value&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;param-name&gt;classes&lt;/param-name&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;param-value&gt;java.lang.Object&lt;/param-value&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;activeReverseAjaxEnabled&lt;/param-name&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;true&lt;/param-value&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;param-name&gt;initApplicationScopeCreatorsAtStartup&lt;/param-name&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;param-value&gt;true&lt;/param-value&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;maxWaitAfterWrite&lt;/param-name&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;3000&lt;/param-value&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;debug&lt;/param-name&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;true&lt;/param-value&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;logLevel&lt;/param-name&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;WARN&lt;/param-value&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp; </span>第二：在<span style="font-family:Times New Roman">web.xml</span>的同级目录下新建<span style="font-family:Times New Roman">dwr.xml</span>文件，内容如下</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp; &lt;!DOCTYPE dwr PUBLIC</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "http://getahead.org/dwr/dwr30.dtd"&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp; &lt;dwr&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;alow&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;create creator="new" javascript="MessagePush"&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &lt;param name="class" value="com.huatech.messageremind.service.MessagePush"/&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/create&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/alow&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp; &lt;/dwr&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp; </span>这个是<span style="font-family:Times New Roman">dwr</span>的基本配置，<span style="font-family:Times New Roman">MessagePush</span>在页面的<span style="font-family:Times New Roman">javascript</span>中使用，<span style="font-family:Times New Roman">com.huatech.messageremind.service.MessagePush</span>实现了想要调用的方法，<span style="font-family:Times New Roman">MessagePush</span>我觉得就相当于<span style="font-family:Times New Roman">java</span>类中的一个映射，在<span style="font-family:Times New Roman">javascript</span>中使用<span style="font-family:Times New Roman">MessagePush.java</span>类中实现的方法，即可在<span style="font-family:Times New Roman">dwr</span>中调用。</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp; </span>第三，要想使用<span style="font-family:Times New Roman">dwr</span>，还要在你想要推送的页面中引入<span style="font-family:Times New Roman">script</span>，</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type="text/javascript" src="&lt;%=basepath%&gt;dwr/engine.js"&gt;&lt;/script&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;script type="text/javascript" src="&lt;%=basepath%&gt;dwr/util.js"&gt;&lt;/script&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&lt;script type="text/javascript" src="&lt;%=basepath%&gt;dwr/interface/MessagePush.js"&gt;&lt;/script&gt;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>可以看见，也引入了<span style="font-family:Times New Roman">dwr.xml</span>中配置的<span style="font-family:Times New Roman">javascript</span>，<span style="font-family:Times New Roman">engine.js</span>和<span style="font-family:Times New Roman">util.js</span>是必须引入的。</p> <p>&nbsp;以上三点都是基本配置，没什么好说的，想使用<span style="font-family:Times New Roman">dwr</span>，就得这么做。</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp; </span>第四，实现消息的精准推送</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>消息推送简单，但是想实现精准推送就需要做一些别的操作了</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 </span>在任何一个用户登录的时候，都需要将其<span style="font-family:Times New Roman">userId</span>或者其他唯一性标识放入<span style="font-family:Times New Roman">session</span>中，我放的是<span style="font-family:Times New Roman">userId</span>，</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>这里就以<span style="font-family:Times New Roman"> userId</span>为唯一性标识。</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 </span>在载入想推送的页面时，需要<span style="font-family:Times New Roman">onload</span>一个我在<span style="font-family:Times New Roman">MessagePush</span>类中实现的方法，当然了，需要使用<span style="font-family:Times New Roman">dwr</span>调用</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; js</span>的调用方法如下：</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function onPageLoad(){</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var userId = '${userinfo.humanid}';</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MessagePush.onPageLoad(userId);</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  &lt;body  onload="dwr.engine.setActiveReverseAjax(true);dwr.engine.setNotifyServerOnPageUnload(true);onPageLoad();&gt; </span>在<span style="font-family:Times New Roman">onload</span>中的三个函数都是必须的，其中<span style="font-family:Times New Roman">dwr.engine.setActiveReverseAjax(true);dwr.engine.setNotifyServerOnPageUnload(true);</span>是<span style="font-family:Times New Roman">dwr</span>中的函数。</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MessagePush</span>类中实现的方法如下：</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void onPageLoad(String userId) {</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ScriptSession scriptSession = WebContextFactory.get().getScriptSession();</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scriptSession.setAttribute(userId, userId);</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DwrScriptSessionManagerUtil dwrScriptSessionManagerUtil = new DwrScriptSessionManagerUtil();</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try {</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dwrScriptSessionManagerUtil.init();</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (ServletException e) {</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.printStackTrace();</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>大家注意到，<span style="font-family:Times New Roman">onPageLoad</span>方法中还有一个名为<span style="font-family:Times New Roman">DwrScriptSessionManagerUtil</span>的类，该类如下实现：</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public class DwrScriptSessionManagerUtil extends DwrServlet{</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private static final long serialVersionUID = -7504612622407420071L;</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void init()</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throws ServletException {</span></p> <p>&nbsp;</p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Container container = ServerContextFactory.get().getContainer();</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ScriptSessionManager manager = container</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .getBean(ScriptSessionManager.class);</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ScriptSessionListener listener = new ScriptSessionListener() {</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void sessionCreated(ScriptSessionEvent ev) {</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpSession session = WebContextFactory.get().getSession();</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String userId =((User) session.getAttribute("userinfo")).getHumanid()+"";</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("a ScriptSession is created!");</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ev.getSession().setAttribute("userId", userId);</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void sessionDestroyed(ScriptSessionEvent ev) {</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("a ScriptSession is distroyed");</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; };</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; manager.addScriptSessionListener(listener);</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">}</span></p> <p><span style="font-size:16px">第四步是最最重要的，为了第四步我研究了两天多，下面开始消息推送。</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>第五、消息推送</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>在你想要推送消息的时候，调用如下方法：</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; public void sendMessageAuto(String userid,String message) {</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final String userId = userid ;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final String autoMessage = message;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Browser.withAllSessionsFiltered(new ScriptSessionFilter() {</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public boolean match(ScriptSession session) {</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (session.getAttribute("userId") == null)</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (session.getAttribute("userId")).equals(userId);</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }, new Runnable(){</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private ScriptBuffer script = new ScriptBuffer();</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void run() {</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; script.appendCall("showMessage", autoMessage);</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Collection&lt;ScriptSession&gt; sessions = Browser</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .getTargetSessions();</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (ScriptSession scriptSession : sessions) {</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scriptSession.addScript(script);</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userid</span>即为你想推给消息的人，<span style="font-family:Times New Roman">message</span>为你想推送的消息，大家注意到这里<span style="font-family:Times New Roman">script.appendCall("showMessage", autoMessage);</span></p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>其中<span style="font-family:Times New Roman">showMessage</span>为在想推送的页面中的<span style="font-family:Times New Roman">javascript</span>方法，<span style="font-family:Times New Roman">autoMessage</span>是这个方法的参数，这样那个页面就能得到推送的内容了，至于如何展现，就看你的需要了。</p> <p>&nbsp;</p> <p><span style="font-family:Times New Roman; font-size:16px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>至此，一个<span style="font-family:Times New Roman">dwr</span>消息精准推送的步骤就写完了，其实很多东西都不难，只是我们不知道该怎么用而已。</p><img src ="http://www.blogjava.net/stevenjohn/aggbug/382447.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-07-07 15:10 <a href="http://www.blogjava.net/stevenjohn/archive/2012/07/07/382447.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js实现checkbox全选，反选，全不选</title><link>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382435.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Sat, 07 Jul 2012 04:45:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382435.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/382435.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382435.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/382435.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/382435.html</trackback:ping><description><![CDATA[<div><div id="blog_text"><p>&lt;%@ page language="java" contentType="text/html; charset=utf-8"<br />&nbsp;&nbsp; &nbsp;pageEncoding="utf-8"%&gt;<br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;<br />&lt;title&gt;js实现checkbox全选，反选，全不选&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;script type="text/javascript" src="js/jquery-1.6.4.js"&gt;&lt;/script&gt;<br />&lt;script type="text/javascript"&gt;<br />&nbsp;&nbsp; &nbsp;//复选框全选<br />&nbsp;&nbsp; &nbsp;function checkAll(formvalue) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var roomids = document.getElementsByName(formvalue);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for ( var j = 0; j &lt; roomids.length; j++) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (roomids.item(j).checked == false) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;roomids.item(j).checked = true;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;}<br /><br />&nbsp;&nbsp; &nbsp;//复选框全不选<br />&nbsp;&nbsp; &nbsp;function uncheckAll(formvalue) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var roomids = document.getElementsByName(formvalue);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for ( var j = 0; j &lt; roomids.length; j++) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if (roomids.item(j).checked == true) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;roomids.item(j).checked = false;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;}<br /><br />&nbsp;&nbsp; &nbsp;//复选框选择转换<br />&nbsp;&nbsp; &nbsp;function switchAll(formvalue) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;var roomids = document.getElementsByName(formvalue);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for ( var j = 0; j &lt; roomids.length; j++) {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;roomids.item(j).checked = !roomids.item(j).checked;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;}<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&nbsp;&nbsp; &nbsp;&lt;input type="radio" name="all" id="all" onclick="checkAll('test')" /&gt;<br />&nbsp;&nbsp; &nbsp;全选<br />&nbsp;&nbsp; &nbsp;&lt;input type="radio" name="all" id="Checkbox1"<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;onclick="uncheckAll('test')" /&gt; 全不选<br />&nbsp;&nbsp; &nbsp;&lt;input type="radio" name="all" id="Checkbox2"<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;onclick="switchAll('test')" /&gt; 反选<br />&nbsp;&nbsp; &nbsp;&lt;br /&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &lt;input name="test" value="复选框1" type="checkbox" /&gt; 复选框1 &lt;br /&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;input name="test" value="复选框2" type="checkbox" /&gt; 复选框2 &lt;br /&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;input name="test" value="复选框3" type="checkbox" /&gt; 复选框3 &lt;br /&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;input name="test" value="复选框4" type="checkbox" /&gt; 复选框4 &lt;br /&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;input name="test" value="复选框5" type="checkbox" /&gt; 复选框5 &lt;br /&gt;<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&lt;input name="test" value="复选框6" type="checkbox" /&gt; 复选框6 &lt;br /&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</p></div></div><img src ="http://www.blogjava.net/stevenjohn/aggbug/382435.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-07-07 12:45 <a href="http://www.blogjava.net/stevenjohn/archive/2012/07/07/382435.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>提交checkbox的值到servlet</title><link>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382434.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Sat, 07 Jul 2012 04:44:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382434.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/382434.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382434.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/382434.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/382434.html</trackback:ping><description><![CDATA[<div><div id="blog_text"><p>&lt;%@ page language="java" contentType="text/html; charset=utf-8"<br />&nbsp;&nbsp; &nbsp;pageEncoding="utf-8"%&gt;<br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;<br />&lt;title&gt;js test&lt;/title&gt;<br />&lt;/head&gt;<br />&lt;script type="text/javascript" src="js/jquery-1.6.4.js"&gt;&lt;/script&gt;<br />&lt;script type="text/javascript"&gt;<br />function selectAll(){<br />&nbsp;&nbsp; &nbsp;var name=document.getElementsByName('checkbox');<br />&nbsp;&nbsp; &nbsp;for(var i=0;i&lt;name.length;i++){<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if(name.item(i).checked==false)<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;name.item(i).checked=true;<br />&nbsp;&nbsp; &nbsp;}<br />}<br />&lt;/script&gt;<br />&lt;body&gt;<br />&nbsp;&nbsp; &nbsp;&lt;form name="myForm" method="post" action="CheckValue"&gt; <br />&nbsp;&nbsp; &nbsp;全选：&lt;input type="radio" name="all" id="all"&nbsp; onclick="selectAll('checkebox')" /&gt;&lt;br/&gt;<br />&nbsp;&nbsp; &nbsp;表单名称1: &lt;input type="checkbox" name="checkbox" value="checkbox1" /&gt;&lt;br/&gt;<br />&nbsp;&nbsp; &nbsp;表单名称2: &lt;input type="checkbox" name="checkbox" value="checkbox2" /&gt;&lt;br/&gt;<br />&nbsp;&nbsp; &nbsp;表单名称3: &lt;input type="checkbox" name="checkbox" value="checkbox3" /&gt;&lt;br/&gt;<br />&nbsp;&nbsp; &nbsp;表单名称4: &lt;input type="checkbox" name="checkbox" value="checkbox4" /&gt;&lt;br/&gt;<br />&nbsp;&nbsp; &nbsp;表单名称5: &lt;input type="checkbox" name="checkbox" value="checkbox5" /&gt;&lt;br/&gt;<br />&nbsp;&nbsp; &nbsp;表单名称6: &lt;input type="checkbox" name="checkbox" value="checkbox6" /&gt;&lt;br/&gt;<br />&nbsp;&nbsp; &nbsp;&lt;input type="submit" value="提交"/&gt;<br />&nbsp;&nbsp; &nbsp;&lt;/form&gt;<br /><br /><br />&lt;/body&gt;<br />&lt;/html&gt;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;web-app  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://java.sun.com/xml/ns/javaee"  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"  version="2.5"&gt;<br />&nbsp; &lt;display-name&gt;abs&lt;/display-name&gt;<br />&nbsp; <br />&nbsp; &lt;servlet&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&lt;servlet-name&gt;CheckValue&lt;/servlet-name&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&lt;servlet-class&gt;org.abin.lee.servlet.CheckValue&lt;/servlet-class&gt;<br />&nbsp; &lt;/servlet&gt;<br />&nbsp; &lt;servlet-mapping&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&lt;servlet-name&gt;CheckValue&lt;/servlet-name&gt;<br />&nbsp; &nbsp;&nbsp; &nbsp;&lt;url-pattern&gt;/CheckValue&lt;/url-pattern&gt;<br />&nbsp; &lt;/servlet-mapping&gt;<br />&nbsp; <br />&nbsp; <br />&nbsp; &lt;welcome-file-list&gt;<br />&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;<br />&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;<br />&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;<br />&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;default.html&lt;/welcome-file&gt;<br />&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;<br />&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;default.jsp&lt;/welcome-file&gt;<br />&nbsp; &lt;/welcome-file-list&gt;<br />&lt;/web-app&gt;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>package org.abin.lee.servlet;<br /><br />import java.io.IOException;<br /><br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br /><br />public class CheckValue extends HttpServlet{<br />&nbsp;&nbsp; &nbsp;@Override<br />&nbsp;&nbsp; &nbsp;protected void doPost(HttpServletRequest req, HttpServletResponse resp)<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;throws ServletException, IOException {<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;String[] value=req.getParameterValues("checkbox");<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;for(int i=0;i&lt;value.length;i++){<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;System.out.println("第"+i+"个："+value[i]);<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;}<br />}<br /></p></div></div><img src ="http://www.blogjava.net/stevenjohn/aggbug/382434.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-07-07 12:44 <a href="http://www.blogjava.net/stevenjohn/archive/2012/07/07/382434.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>checkbox实现全选的多种方法</title><link>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382433.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Sat, 07 Jul 2012 04:41:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382433.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/382433.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/07/07/382433.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/382433.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/382433.html</trackback:ping><description><![CDATA[<div><br />&lt;script language=javascript&gt; <br />//第一种方法 <br />function selectall1() <br />{ <br />var a = document.getElementsByTagName("input"); <br />if(a[0].checked==true){ <br />for (var i=0; i&lt;a.length; i++) <br />if (a[i].type == "checkbox") a[i].checked = false; <br />} <br />else <br />{ <br />for (var i=0; i&lt;a.length; i++) <br />if (a[i].type == "checkbox") a[i].checked = true; <br />} <br />} <br /><br />//第二种方法 <br /><br />function selectall2() { <br />var tform = document.forms['form1']; <br />for (var i=0;i&lt;tform.length;i++) <br />{ <br />var e = tform.elements[i]; <br />if (e.type == "checkbox") <br />e.checked = !e.checked; <br />} <br />} <br /><br />//第三种方法，结合上述两种方法 <br />function selectall3() <br />{ <br />var a = document.getElementsByTagName("input"); <br />for (var i=0; i&lt;a.length; i++) <br />if (a[i].type == "checkbox") a[i].checked =!a[i].checked; <br />} <br />//第四种方法 <br />function selectall4(id){ //用id区分 <br />var tform=document.forms['form1']; <br />for(var i=0;i&lt;tform.length;i++){ <br />var e=tform.elements[i]; <br />if(e.type=="checkbox" &amp;&amp; e.name==id) e.checked=!e.checked; <br />} <br />} <br />//第五种方法 <br />function selectall(theform,thename){ //theform指定的form,thename是checkbox的name属性 <br />var tform=document.forms[theform]; <br />document.getElementById("thewen").value='反选'; <br />for(var i=0;i&lt;tform.length;i++){ <br />var e=tform.elements[i]; <br />if(e.type=='checkbox' &amp;&amp; e.name==thename)e.checked=!e.checked; <br />} <br />} <br />&lt;/script&gt; <br />&lt;form id="form1" name="form1" method="post" action=""&gt; <br />&lt;input type="checkbox" name="sid" value="1" /&gt; <br />&lt;input name="thes" type="button" onclick="javascript:selectall3()" value="全选" /&gt; <br />&lt;/form&gt; </div><img src ="http://www.blogjava.net/stevenjohn/aggbug/382433.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-07-07 12:41 <a href="http://www.blogjava.net/stevenjohn/archive/2012/07/07/382433.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>