﻿<?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/flustar/category/22088.html</link><description>不是因为有些事情难以做到，我们才失去自信，而是因为我们失去了自信，有些事情才难以做到。</description><language>zh-cn</language><lastBuildDate>Tue, 20 Nov 2007 20:01:41 GMT</lastBuildDate><pubDate>Tue, 20 Nov 2007 20:01:41 GMT</pubDate><ttl>60</ttl><item><title>基于spring+dwr+xml无刷新投票(调查)系统</title><link>http://www.blogjava.net/flustar/archive/2007/11/19/spring_dwr_xml.html</link><dc:creator>flustar</dc:creator><author>flustar</author><pubDate>Mon, 19 Nov 2007 10:04:00 GMT</pubDate><guid>http://www.blogjava.net/flustar/archive/2007/11/19/spring_dwr_xml.html</guid><wfw:comment>http://www.blogjava.net/flustar/comments/161691.html</wfw:comment><comments>http://www.blogjava.net/flustar/archive/2007/11/19/spring_dwr_xml.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flustar/comments/commentRss/161691.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flustar/services/trackbacks/161691.html</trackback:ping><description><![CDATA[<p>一、建立xml的数据结构，文件名为：vote.xml，内容如下：</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</p>
<p>&lt;votes voteTotalCount="0"&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;vote voteId="1" name="c语言 " voteCount="0" percentum="0" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;vote voteId="2" name="c++" voteCount="0" percentum="0" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;vote voteId="3" name="java" voteCount="0" percentum="0" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;vote voteId="4" name="汇编语言" voteCount="0" percentum="0" /&gt;</p>
<p>&nbsp;&lt;/votes&gt;</p>
<p>在你的web应用的根目录建立xml文件夹，将其拷贝到该目录下。</p>
<p>二、建立xml对应的bean</p>
<p>/**</p>
<p>&nbsp;* @author flustar</p>
<p>&nbsp;* @version 创建时间：Jul 11, 2007 5:17:53 PM</p>
<p>&nbsp;* 类说明</p>
<p>&nbsp;*/</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.</p>
<p>public class VoteBean {</p>
<p>&nbsp;&nbsp;&nbsp; private String voteId;</p>
<p>&nbsp; &nbsp;private String name;</p>
<p>&nbsp;&nbsp;&nbsp; private String voteCount;</p>
<p>&nbsp;&nbsp;&nbsp; private String voteTotalCount;</p>
<p>&nbsp;&nbsp;&nbsp; private String percentum;</p>
<p>&nbsp;&nbsp;&nbsp; public VoteBean() {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public String getPercentum() {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return percentum;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void setPercentum(String percentum) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.percentum = percentum;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public String getVoteId() {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return voteId;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; public void setVoteId(String voteId) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.voteId = voteId;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public String getName() {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return name;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void setName(String name) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.name = name;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public String getVoteCount() {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return voteCount;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; public void setVoteCount(String voteCount) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.voteCount = voteCount;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>}</p>
<p>三、建立处理具体逻辑的service</p>
<p>package com.flustar.service;</p>
<p>import java.io.FileInputStream;</p>
<p>import java.io.FileOutputStream;</p>
<p>import java.text.NumberFormat;</p>
<p>import java.util.ArrayList;</p>
<p>import java.util.Iterator;</p>
<p>import java.util.List;</p>
<p>import org.jdom.Attribute;</p>
<p>import org.jdom.Document;</p>
<p>import org.jdom.Element;</p>
<p>import org.jdom.input.SAXBuilder;</p>
<p>import org.jdom.output.Format;</p>
<p>import org.jdom.output.XMLOutputter;</p>
<p>import org.jdom.xpath.XPath;</p>
<p>import com.flustar.web.beans.VoteBean;</p>
<p>import com.flustar.web.config.ContextConfig;</p>
<p>public class VoteService {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private Element root, vote;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private Document doc;</p>
<p>&nbsp;&nbsp;&nbsp; &nbsp; private Attribute voteTotalCount;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private VoteBean voteBean;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private List&lt;VoteBean&gt; voteBeanList;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private String path = ContextConfig.getContextPath()</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; + "/xml/vote.xml";</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void buildDoc() throws Exception {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FileInputStream fi = null;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi = new FileInputStream(path);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAXBuilder sb = new SAXBuilder();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; doc = sb.build(fi);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void formatDoc() throws Exception {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Format format = Format.getCompactFormat();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format.setEncoding("UTF-8");// 设置xml文件的字符为UTF-8</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; format.setIndent("&nbsp;&nbsp;&nbsp; ");// 设置xml文件缩进为4个空格</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XMLOutputter xmlOut = new XMLOutputter(format);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xmlOut.output(doc, new FileOutputStream(path));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public String floatToPercentum(Double doubleNum) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumberFormat numberFormat = NumberFormat.getPercentInstance();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numberFormat.setMinimumFractionDigits(2);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // numberFormat.setMaximumIntegerDigits(2);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String str = numberFormat.format(doubleNum);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //System.out.println(str);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return str;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void updateVoteCount(String voteId) throws Exception {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buildDoc();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root = doc.getRootElement();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vote = (Element) XPath.selectSingleNode(root, "//vote[@voteId='"</p>
<p>&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; + voteId + "']");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int voteCount = Integer.parseInt(vote.getAttributeValue("voteCount")) + 1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //System.out.println(voteCount);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vote.setAttribute("voteCount", String.valueOf(voteCount));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int totalCount = Integer.parseInt(root</p>
<p>&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; .getAttributeValue("voteTotalCount")) + 1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voteTotalCount = new Attribute("voteTotalCount", String</p>
<p>&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; .valueOf(totalCount));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root.setAttribute(voteTotalCount);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(totalCount);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; formatDoc();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; updateAllVoteCount();//更新所有的百分比</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void updateAllVoteCount()throws Exception{</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buildDoc();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root=doc.getRootElement();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int totalCount = Integer.parseInt(root</p>
<p>&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; .getAttributeValue("voteTotalCount"));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List voteList=XPath.selectNodes(root,"/votes/vote");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int i=0;i&lt;voteList.size();i++){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vote=(Element)voteList.get(i);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int voteCount = Integer.parseInt(vote.getAttributeValue("voteCount"));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(voteCount);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vote.setAttribute("voteCount", String.valueOf(voteCount));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vote.setAttribute("percentum", floatToPercentum(1.0 * voteCount</p>
<p>&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; / totalCount));</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; formatDoc();</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public List getAllVote() throws Exception {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buildDoc();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voteBeanList = new ArrayList();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root = doc.getRootElement();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String totalCount = root.getAttributeValue("voteTotalCount");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List voteList = root.getChildren();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Iterator i = voteList.iterator();</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (i.hasNext()) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voteBean = new VoteBean();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voteBean.setVoteTotalCount(totalCount);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vote = (Element) i.next();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String name = vote.getAttributeValue("name");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String voteCount = vote.getAttributeValue("voteCount");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String percentum = vote.getAttributeValue("percentum");</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voteBean.setName(name);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voteBean.setVoteCount(voteCount);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voteBean.setPercentum(percentum);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; voteBeanList.add(voteBean);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return voteBeanList;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; public String getVoteTotalCount() {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return voteTotalCount;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; public void setVoteTotalCount(String voteTotalCount) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.voteTotalCount = voteTotalCount;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>}</p>
<p>&nbsp;</p>
<p>四、获取上下文路径的listener</p>
<p>package com.flustar.web.listener;</p>
<p>import javax.servlet.ServletContextEvent;</p>
<p>import javax.servlet.ServletContextListener;</p>
<p>import com.flustar.web.config.ContextConfig;</p>
<p>public class ConfigLoadContextListener implements&nbsp; ServletContextListener{</p>
<p>&nbsp;&nbsp;&nbsp; public void contextDestroyed(ServletContextEvent arg0) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; public void contextInitialized(ServletContextEvent contextEvent) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // TODO Auto-generated method stub</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String contextPath = contextEvent.getServletContext().getRealPath("/");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ContextConfig.setContextPath(contextPath);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>}</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p>
<p>&nbsp;</p>
<p>public class ContextConfig {</p>
<p>&nbsp;&nbsp;&nbsp; private static String contextPath;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; public static String getContextPath() {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return contextPath;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; public static void setContextPath(String contextPath) {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ContextConfig.contextPath = contextPath;</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>}</p>
<p>五、在applicationContext-service.xml中注册VoteService</p>
<p>&lt;bean name="voteService" class="com.flustar.service.imp.VoteService"/&gt;</p>
<p>六、注册xml，在你的web应用的WEB-INFO目录下建立applicationContext-dwr.xml文件，内容为：</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</p>
<p>&lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd"&gt;</p>
<p>&lt;dwr&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;allow&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;create&nbsp; creator="spring" javascript="VoteService" &gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="beanName" value="voteService"&gt;&lt;/param&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;include method="updateVoteCount"/&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;include method="getAllVote"/&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/create&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;convert converter="bean"&nbsp; match="com.flustar.web.beans.VoteBean" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/allow&gt;</p>
<p>&lt;/dwr&gt;</p>
<p>&nbsp;</p>
<p>七、修改web.xml</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</p>
<p>&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee" </p>
<p>&nbsp;&nbsp;&nbsp; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" </p>
<p>&nbsp;&nbsp;&nbsp; xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" </p>
<p>&nbsp;&nbsp;&nbsp; version="2.4"&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>&nbsp;&nbsp;&nbsp; &lt;context-param&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;</p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /WEB-INF/classes/applicationContext-service.xml</p>
<p>&lt;/param-value&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/context-param&gt;</p>
<p>&nbsp;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.&nbsp;&nbsp;&nbsp;&nbsp; &lt;listener-class&gt;com.flustar.web.listener.ConfigLoadContextListener&lt;/listener-class&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp; &lt;servlet&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;org.directwebremoting.servlet.DwrServlet&lt;/servlet-class&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;init-param&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;debug&lt;/param-name&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;true&lt;/param-value&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;</p>
<p>&nbsp; &lt;/servlet&gt;</p>
<p>&nbsp;</p>
<p>&nbsp; &lt;servlet-mapping&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt;</p>
<p>&nbsp; &lt;/servlet-mapping&gt;&nbsp; </p>
<p>&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.&nbsp;&nbsp;&nbsp; </p>
<p>&lt;/web-app&gt;</p>
<p>八、jsp页面</p>
<p>1)</p>
<p>&lt;%@ page contentType="text/html; charset=gbk" language="java" import="java.sql.*" errorPage="" %&gt;</p>
<p>&lt;html&gt;</p>
<p>&lt;head&gt;</p>
<p>&lt;title&gt;投票系统&lt;/title&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type='text/javascript' src='dwr/engine.js'&gt; &lt;/script&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type='text/javascript' src='dwr/util.js'&gt; &lt;/script&gt; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type='text/javascript' src='dwr/interface/VoteService.js'&gt; &lt;/script&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type='text/javascript'&gt;</p>
<p>function vote(){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp;&nbsp; obj=document.getElementsByName('radio');&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp; (obj!=null){&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var j=0;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for&nbsp;&nbsp; (var&nbsp;&nbsp; i=0;i&lt;obj.length;i++){&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp; (obj[i].checked)&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VoteService.updateVoteCount(obj[i].value); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("投票成功!"); </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; obj[i].checked=false; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; j=j+1;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(j==obj.length){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("请选中其中的一项，再投票!");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp; function showwin(){</p>
<p>&nbsp;&nbsp;&nbsp; window.open('voteresult.htm','voteresult','height=400, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no');</p>
<p>&nbsp;&nbsp; }</p>
<p>&nbsp;}</p>
<p>&lt;/script&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>&lt;div &gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;h1 &gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 你使用最多的一门语言是？</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/h1&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;div&gt;</p>
<p>&lt;div&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;h1&gt;&lt;input type="radio" name="radio" id="radio" value="1" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C语言&lt;/h1&gt; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/span&gt; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span&gt; &lt;h1 &gt;&lt;input type="radio" name="radio" id="radio" value="2" /&gt;c++ &lt;/h1&gt; &lt;/span&gt; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span &gt;&lt;h1 &gt;&lt;input type="radio" name="radio" id="radio" value="3" /&gt;java &lt;/h1&gt; &lt;/span&gt; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;span&gt;&lt;h1 &gt;&lt;input type="radio" name="radio" id="radio" value="4"/&gt;汇编语言&lt;/h1&gt; &lt;/span&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>&lt;div id="toupiao"&gt;&lt;input class="btn" type="button" value="投票" onClick="vote()" /&gt;&lt;input class="btn" type="button" value="查看" onClick="showwin()"/&gt;&lt;/div&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<p>2)</p>
<p>&lt;html&gt;</p>
<p>&lt;head&gt;</p>
<p>&lt;meta http-equiv="content-type" content="text/html; charset=gb2312"&gt;</p>
<p>&lt;title&gt;投票结果&lt;/title&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type='text/javascript' src='dwr/engine.js'&gt; &lt;/script&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type='text/javascript' src='dwr/util.js'&gt; &lt;/script&gt; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type='text/javascript' src='dwr/interface/VoteService.js'&gt; &lt;/script&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script type='text/javascript' &gt;</p>
<p>function showresult(){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VoteService.getAllVote(function(data){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById("totalCount").innerHTML=data[0].voteTotalCount;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i=0;i&lt;data.length;i++){</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var voteBean=data[i];</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById("xuanshou"+i).innerHTML=voteBean.name;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById("baifenbi"+i).innerHTML=voteBean.percentum;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById("piaoshu"+i).innerHTML=voteBean.voteCount;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.getElementById("img"+i).width=voteBean.voteCount/data[0].voteTotalCount*310;</p>
<p>&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;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; });</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>}</p>
<p>&lt;/script&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body onLoad="showresult()"&gt;</p>
<p>&lt;div id="voteRs"&gt;</p>
<p>&lt;table border="0" cellpadding="0" cellspacing="0"&gt;</p>
<p>&nbsp; &lt;CAPTION valign="top" class="subject"&gt;</p>
<p>投票结果</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/CAPTION&gt;</p>
<p>&nbsp; &lt;tbody&gt;</p>
<p>&nbsp; &lt;tr &gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;th&gt;语言&lt;/th&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;th&gt;百分比&lt;/th&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;th&gt;票数&lt;/th&gt;</p>
<p>&nbsp; &lt;/tr&gt;</p>
<p>&nbsp; &lt;tr&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="xuanshou0"&gt;&lt;/span&gt;&lt;/td&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="baifenbi0"&gt;&lt;/span&gt;&lt;img id="img0" src='images/voteprogress.gif' width=0 height=10&gt;&lt;/td&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="piaoshu0"&gt;&lt;/span&gt;&lt;/td&gt;</p>
<p>&nbsp; &lt;/tr&gt;</p>
<p>&nbsp; &lt;tr&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="xuanshou1"&gt;&lt;/span&gt;&lt;/td&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="baifenbi1"&gt;&lt;/span&gt;&lt;img id="img1" src='images/voteprogress.gif' width=0 height=10&gt;&lt;/td&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="piaoshu1"&gt;&lt;/span&gt;&lt;/td&gt;</p>
<p>&nbsp; &lt;/tr&gt;</p>
<p>&nbsp; &lt;tr&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="xuanshou2"&gt;&lt;/span&gt;&lt;/td&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="baifenbi2"&gt;&lt;/span&gt;&lt;img id="img2" src='images/voteprogress.gif' width=0 height=10&gt;&lt;/td&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="piaoshu2"&gt;&lt;/span&gt;&lt;/td&gt;</p>
<p>&nbsp; &lt;/tr&gt;</p>
<p>&nbsp;&nbsp; &lt;tr&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="xuanshou3"&gt;&lt;/span&gt;&lt;/td&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="baifenbi3"&gt;&lt;/span&gt;&lt;img id="img3" src='images/voteprogress.gif' width=0 height=10&gt;&lt;/td&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="piaoshu3"&gt;&lt;/span&gt;&lt;/td&gt;</p>
<p>&nbsp; &lt;/tr&gt;</p>
<p>&nbsp;</p>
<p>&nbsp; &lt;/tbody&gt;</p>
<p>&lt;/table&gt;</p>
<p>共&lt;span id="totalCount"&gt;&lt;/span&gt;条投票&lt;br/&gt;</p>
<p>[&lt;span onClick="javascript:window.close();"&gt;关闭窗口&lt;/span&gt;]</p>
<p>&lt;/div&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<p>&nbsp;<br />
</p>
<img src ="http://www.blogjava.net/flustar/aggbug/161691.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flustar/" target="_blank">flustar</a> 2007-11-19 18:04 <a href="http://www.blogjava.net/flustar/archive/2007/11/19/spring_dwr_xml.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用prototype实现前台表单的验证(无刷新验证用户名，email,验证码等)</title><link>http://www.blogjava.net/flustar/archive/2007/11/15/160771.html</link><dc:creator>flustar</dc:creator><author>flustar</author><pubDate>Thu, 15 Nov 2007 07:43:00 GMT</pubDate><guid>http://www.blogjava.net/flustar/archive/2007/11/15/160771.html</guid><wfw:comment>http://www.blogjava.net/flustar/comments/160771.html</wfw:comment><comments>http://www.blogjava.net/flustar/archive/2007/11/15/160771.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flustar/comments/commentRss/160771.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flustar/services/trackbacks/160771.html</trackback:ping><description><![CDATA[最近发现使用prototype来做表单的前台验证感觉非常不错，prototype.js 是由 Sam Stephenson 写的一个 javascript 类库。这个构思奇妙，而且<strong>兼容标准</strong>的类库，能帮助你轻松建立有高度互动的 Web 2.0 特性的富客户端页面。下面是一个使用它做前台表单验证的例子。<br />
<p>var flag=[true,true,true,true,true,true,true,true,true,true];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var userNameInfo=["用户名不能为空","用户名必须为6~20位","用户已存在","恭喜用户名可以使用"];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var passwordInfo=["密码不能为空","密码长度不能小于6位","请再次输入密码","两次密码输入不一致，请重新输入"];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function changeImage()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; var timenow=new Date().getTime();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $('checkcode').src = "image/loading.gif";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $('checkcode').src = "random.jsp?d="+timenow;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function checkUserName()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp; if ($F("userName").match(/^\s*$/g)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("userNameErr").innerHTML =userNameInfo[0];<br />
&nbsp;&nbsp;&nbsp;&nbsp; flag[0]=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; var re=/^(\w){6,20}$/;<br />
&nbsp;&nbsp;&nbsp; var tt = re.test($F("userName"));<br />
&nbsp;&nbsp;&nbsp; if(tt==false){<br />
&nbsp;&nbsp;&nbsp;$("userNameErr").innerHTML = userNameInfo[1];<br />
&nbsp;&nbsp;&nbsp;flag[0]=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp; &nbsp;$("userNameErr").innerHTML = "&lt;img src='image/loading.gif'&gt;";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isExsitUsername();&nbsp; <br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; function checkPassword()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if ($F("password").match(/^\s*$/g)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("pwdErr").innerHTML =passwordInfo[0];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[1]=false;<br />
&nbsp;&nbsp;}else if($F("password").length&lt;6){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("pwdErr").innerHTML=passwordInfo[1];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[1]=false;<br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("pwdErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[1]=true;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; function checkRePassword(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($F("password2").match(/^\s*$/g)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("repwdErr").innerHTML =passwordInfo[2];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[2]=false;<br />
&nbsp;&nbsp;}else if($F("password2")!=$F("password")){<br />
&nbsp;&nbsp;&nbsp;$("repwdErr").innerHTML=passwordInfo[3];&nbsp; <br />
&nbsp;&nbsp;&nbsp;flag[2]=false;&nbsp; <br />
&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("repwdErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[2]=true;<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; function checkName(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($F("name").match(/^\s*$/g)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("nameErr").innerHTML="昵称不能为空";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[3]=false;<br />
&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp; &nbsp;$("nameErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp; &nbsp;flag[3]=true;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; function checkQuestion(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($F("question").match(/^\s*$/g)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("questionErr").innerHTML="请选择一个安全问题";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[4]=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("questionErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[4]=true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; function checkAnswer(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($F("answer").match(/^\s*$/g)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("answerErr").innerHTML="安全回答不能为空";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[5]=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else if($F("answer").length&lt;4){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("answerErr").innerHTML="安全回答问题不能少于4个字符";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[5]=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("answerErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[5]=true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; function checkEmail()<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp; var reEmail =/(\S)+[@]{1}(\S)+[.]{1}(\w)+/;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($F("email").match(/^\s*$/g)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("emailErr").innerHTML="Email不能为空";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[6]=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var temp=reEmail.test($("email").value);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(temp==false){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("emailErr").innerHTML= "Email必须符合要求!";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[6]=false;<br />
&nbsp;&nbsp;&nbsp;&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;&nbsp; $("emailErr").innerHTML="&lt;img src='image/loading.gif'&gt;";<br />
&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; isExsitEmail();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; function checkMobile(){<br />
&nbsp;&nbsp;&nbsp; var patrn=/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/;<br />
&nbsp;&nbsp;&nbsp; if($F("mobile").match(/^\s*$/g)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("mobileErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;flag[7]=true;<br />
&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;if (!patrn.test($F("mobile"))) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;$("mobileErr").innerHTML="请输入正确的手机号码";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;flag[7]=false;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;$("mobileErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;flag[7]=true;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; function checkPID(){<br />
&nbsp;&nbsp;&nbsp;&nbsp; var patrn=/(^\d{15}$)|(^\d{17}([0-9]|X|x)$)/;<br />
&nbsp;&nbsp;&nbsp;&nbsp; if($F("PID").match(/^\s*$/g)){<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; $("PIDErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;flag[8]=true;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;if (!patrn.test($F("PID")))&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;$("PIDErr").innerHTML="身份证号码有误!";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;flag[8]=false;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;$("PIDErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;flag[8]=true;<br />
&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp; function isExsitUsername(){<br />
&nbsp;&nbsp;&nbsp;&nbsp; var username=$F("userName");<br />
&nbsp;&nbsp;&nbsp;&nbsp; var url='user_checkUsername.do';<br />
&nbsp;&nbsp;&nbsp;&nbsp; var pars="username="+username;<br />
&nbsp;&nbsp;&nbsp;&nbsp; var usernameAjax=new Ajax.Request(<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;url,<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;{method:'get',parameters:pars,onComplete:showUResult}<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;);<br />
&nbsp; }<br />
&nbsp; function showUResult(result){<br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(result.responseText.indexOf("true")!=-1){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("userNameErr").innerHTML=userNameInfo[2];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[0]=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("userNameErr").innerHTML="&lt;font color='green'&gt;"+userNameInfo[3]+"&lt;/font&gt;";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[0]=true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp; } <br />
&nbsp; function isExsitEmail(){<br />
&nbsp;&nbsp;&nbsp;&nbsp; var email=$F("email");<br />
&nbsp;&nbsp;&nbsp;&nbsp; var url='user_checkEmail.do';<br />
&nbsp;&nbsp;&nbsp;&nbsp; pars="email="+email;<br />
&nbsp;&nbsp;&nbsp;&nbsp; var emailAjax=new Ajax.Request(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; url,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {method:'get',parameters:pars,onComplete:showEResult}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br />
&nbsp; }<br />
&nbsp; function showEResult(result){<br />
&nbsp; &nbsp;if(result.responseText.indexOf("true")!=-1){<br />
&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; $("emailErr").innerHTML="这个Email已经有人使用，请换一个";<br />
&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; flag[6]=false;<br />
&nbsp; &nbsp;}else{<br />
&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; $("emailErr").innerHTML="&lt;font color='green'&gt;已通过验证&lt;/font&gt;";<br />
&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; flag[6]=true;<br />
&nbsp; &nbsp;}<br />
&nbsp; }<br />
&nbsp; function checkCode(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($("code").value.match(/^\s*$/g)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("codeErr").innerHTML="验证码不能为空";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[9]=false;<br />
&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;isCorrectCode();<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp; function isCorrectCode(){<br />
&nbsp;&nbsp;&nbsp;&nbsp; var code=$F("code");<br />
&nbsp;&nbsp;&nbsp;&nbsp; var url='checkcode.jsp';<br />
&nbsp;&nbsp;&nbsp;&nbsp; pars="code="+code+"&amp;ram="+Math.random();<br />
&nbsp;&nbsp;&nbsp;&nbsp; var codeAjax=new Ajax.Request(<br />
&nbsp;&nbsp;&nbsp;&nbsp; url,<br />
&nbsp;&nbsp;&nbsp;&nbsp; {method:'get',parameters:pars,asynchronous:false,onComplete:showCResult}<br />
&nbsp;&nbsp;&nbsp;&nbsp; );<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; }<br />
&nbsp; function showCResult(result){<br />
&nbsp;&nbsp;&nbsp;&nbsp; if(result.responseText.indexOf("validate_successful")!=-1){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("codeErr").innerHTML="";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[9]=true;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }else{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $("codeErr").innerHTML="错误的验证码";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag[9]=false;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp; }<br />
&nbsp;function checkform(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkUserName();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkPassword();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkRePassword();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkName();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkQuestion();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkAnswer();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkEmail();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkMobile();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkPID();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; checkCode();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i=0;i&lt;flag.length;i+=1){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(flag[i]==false)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br />
&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp; return true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp; } <br />
其中</p>
<p><span class="red">$()：</span> 函数是在 DOM 中使用过于频繁的 <span class="red">document.getElementById()</span> 方法的一个便利的简写，就像这个 DOM 方法一样，这个方法返回参数传入的 id 的那个元素。<br />
<span class="red">$F()</span> ：函数是另一个大收欢迎的&#8220;快捷键&#8221;，它能用于返回任何表单输入控件的值，比如文本框或者下拉列表。这个方法也能用元素 id 或元素本身做为参数。<br />
Ajax.Request 类：如果你不使用任何的帮助程序包，你很可能编写了整个大量的代码来创建 <span class="red">XMLHttpRequest</span> 对象并且异步的跟踪它的进程，然后解析响应并处理它。当你不需要支持多于一种类型的浏览器时你会感到非常的幸运，反之你就要考虑使用prototype的Ajax.Request类。你也许注意到了在使用它做无刷新验证用户名，Email以及验证码时，使用'get'方法把参数传递给url，后面都带有一个参数，这个参数值是当前系统时间或是一个随机参数的一个数，这样做是为了避免浏览器的从它的缓存中读取响应信息，影响结果的正确性。</p>
<p><br />
&nbsp;</p>
<img src ="http://www.blogjava.net/flustar/aggbug/160771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flustar/" target="_blank">flustar</a> 2007-11-15 15:43 <a href="http://www.blogjava.net/flustar/archive/2007/11/15/160771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在网页中用javascript控制wmplayer播放器</title><link>http://www.blogjava.net/flustar/archive/2007/04/29/114510.html</link><dc:creator>flustar</dc:creator><author>flustar</author><pubDate>Sun, 29 Apr 2007 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/flustar/archive/2007/04/29/114510.html</guid><wfw:comment>http://www.blogjava.net/flustar/comments/114510.html</wfw:comment><comments>http://www.blogjava.net/flustar/archive/2007/04/29/114510.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flustar/comments/commentRss/114510.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flustar/services/trackbacks/114510.html</trackback:ping><description><![CDATA[<u>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmplay/mmp_sdk/settingsobject.asp</u>
<p>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;link href="style/style.css" rel="stylesheet" type="text/css"&gt;</p>
<p>&lt;script language="JavaScript"&gt;<br>var state;</p>
<p>//初始化<br>function playerinit()<br>{<br>&nbsp;player.url="mp3.m3u";<br>&nbsp;player.settings.autoStart = false ;<br>}</p>
<p>//播放<br>function play()<br>{<br>&nbsp;if (player.controls.isavailable('play'))<br>&nbsp;{<br>&nbsp; player.controls.play();<br>&nbsp; state=setInterval("updatetime()",1000);<br>&nbsp; playerinfo.innerHTML = "播放";<br>&nbsp;}<br>}</p>
<p>//暂停<br>function pause()<br>{<br>&nbsp;if (player.controls.isavailable('pause'))<br>&nbsp;{<br>&nbsp; player.controls.pause();<br>&nbsp; clearInterval(state);<br>&nbsp; playerinfo.innerHTML = "暂停";<br>&nbsp;}<br>}</p>
<p>//停止<br>function stop()<br>{<br>&nbsp;if (player.controls.isavailable('stop'))<br>&nbsp;{<br>&nbsp; player.controls.stop();<br>&nbsp; clearInterval(state);<br>&nbsp; playerinfo.innerHTML = "停止";<br>&nbsp;}<br>}</p>
<p>//前首<br>function previous()<br>{<br>&nbsp;if (player.controls.isavailable( 'previous' ))<br>&nbsp;{<br>&nbsp; player.controls.previous();<br>&nbsp; playerinfo.innerHTML = "前一首";<br>&nbsp;}<br>}</p>
<p>//后首<br>function next()<br>{<br>&nbsp;if (player.controls.isavailable( 'next' ))<br>&nbsp;{<br>&nbsp; player.controls.next();<br>&nbsp; playerinfo.innerHTML = "下一首";<br>&nbsp;}<br>}</p>
<p>//？<br>function step()<br>{<br>&nbsp;if (player.controls.isavailable( 'step' ))<br>&nbsp;player.controls.step( 1 );<br>}</p>
<p>//音量-<br>function voldown()<br>{<br>&nbsp;if ( player.settings.volume &lt; 5 )<br>&nbsp;{<br>&nbsp; player.settings.volume = 0;<br>&nbsp; playerinfo.innerHTML = "0";<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp; player.settings.volume -= 5;<br>&nbsp; playerinfo.innerHTML = player.settings.volume;<br>&nbsp;}<br>}</p>
<p>//音量+<br>function volup()<br>{<br>&nbsp;if ( player.settings.volume &gt; 95 )<br>&nbsp;{<br>&nbsp; player.settings.volume = 100;<br>&nbsp; playerinfo.innerHTML = "100";<br>&nbsp;}<br>&nbsp;else<br>&nbsp;{<br>&nbsp; player.settings.volume += 5;<br>&nbsp; playerinfo.innerHTML = player.settings.volume;<br>&nbsp;}<br>}</p>
<p>//静音<br>function mute()<br>{<br>&nbsp;player.settings.mute = !player.settings.mute;<br>}</p>
<p>//声道<br>function balance()<br>{<br>&nbsp;switch (player.settings.balance)<br>&nbsp;{<br>&nbsp; case 0:<br>&nbsp;&nbsp; player.settings.balance = 100;<br>&nbsp;&nbsp; playerinfo.innerHTML = '左声道';<br>&nbsp;&nbsp; break;<br>&nbsp; case 100:<br>&nbsp;&nbsp; player.settings.balance = -100;<br>&nbsp;&nbsp; playerinfo.innerHTML = '右声道';<br>&nbsp;&nbsp; break;<br>&nbsp; case -100:<br>&nbsp;&nbsp; player.settings.balance = 0;<br>&nbsp;&nbsp; playerinfo.innerHTML = '全声道';<br>&nbsp;&nbsp; break;<br>&nbsp; default :<br>&nbsp;&nbsp; player.settings.balance = 0;<br>&nbsp;&nbsp; playerinfo.innerHTML = '全声道';<br>&nbsp;&nbsp; break;<br>&nbsp;}<br>}</p>
<p>//更新时间<br>function updatetime()<br>{<br>&nbsp;playerinfo.innerHTML = player.controls.currentPositionString + " | " + player.currentMedia.durationString;<br>}</p>
<p>&lt;/script&gt;<br>&lt;/head&gt;<br>&lt;body onload="playerinit();"&gt;<br>&lt;table width="300"&gt;<br>&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp;
&lt;td&gt;&lt;object id="player"
classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"
type="application/x-oleobject" width="300" height="60"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="autoStart" value="false"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="balance" value="0"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="currentPosition" value="0"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="currentMarker" value="0"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="enableContextMenu" value="true"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="enableErrorDialogs" value="false"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="enabled" value="true"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="fullScreen" value="false"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="invokeURLs" value="false"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="mute" value="true"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="playCount" value="1"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="rate" value="1"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="uiMode" value="none"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="volume" value="100"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/object&gt;&lt;/td&gt;<br>&nbsp; &lt;/tr&gt;<br>&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;span id="playerinfo"&gt;&lt;/span&gt;&lt;/td&gt;<br>&nbsp; &lt;/tr&gt;<br>&nbsp; &lt;tr&gt;<br>&nbsp;&nbsp;&nbsp; &lt;td&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;div align="center"&gt;<br>&lt;input
type="button" class="but11" onmouseover=this.className="but12";
onmouseout=this.className="but11"; name="previous" title="上一首"
onclick="previous();"&gt;<br>&lt;input type="button" class="but21"
onmouseover=this.className="but22"; onmouseout=this.className="but21";
name="play" title="播放" onclick="play();"&gt;<br>&lt;input type="button"
class="but31" onmouseover=this.className="but32";
onmouseout=this.className="but31"; name="pause" title="暂停"
onclick="pause();"&gt;<br>&lt;input type="button" class="but41"
onmouseover=this.className="but42"; onmouseout=this.className="but41";
name="stop" title="停止" onclick="stop();"&gt;<br>&lt;input type="button"
class="but51" onmouseover=this.className="but52";
onmouseout=this.className="but51"; name="next" title="下一首"
onclick="next();"&gt;<br>&lt;input type="button" class="but61"
onmouseover=this.className="but62"; onmouseout=this.className="but61";
name="voldown" title="音量-" onclick="voldown();"&gt;<br>&lt;input
type="button" class="but61" onmouseover=this.className="but62";
onmouseout=this.className="but61"; name="volup" title="音量+"
onclick="volup();"&gt;<br>&lt;input type="button" class="but61"
onmouseover=this.className="but62"; onmouseout=this.className="but61";
name="mute" title="静音" onclick="mute();"&gt;<br>&lt;input type="button"
class="but61" onmouseover=this.className="but62";
onmouseout=this.className="but61"; name="balance" title="声道"
onclick="balance();"&gt;<br>&nbsp;&nbsp; &lt;/div&gt;<br>&nbsp;&lt;/td&gt;<br>&nbsp; &lt;/tr&gt;<br>&lt;/table&gt;<br>&lt;script language = "JavaScript"&nbsp; for = player event = playstatechange(newstate)&gt;<br>switch (newstate){<br>&nbsp; case 1:<br>&nbsp;&nbsp; playerinfo.innerHTML = "停止";<br>&nbsp;&nbsp; break;<br>&nbsp; case 2:<br>&nbsp;&nbsp; playerinfo.innerHTML = "暂停";<br>&nbsp;&nbsp; break;<br>&nbsp; case 3:<br>&nbsp;&nbsp; playerinfo.innerHTML = "正在播放";<br>&nbsp;&nbsp; break;<br>&nbsp; case 4:<br>&nbsp;&nbsp; playerinfo.innerHTML = "4";<br>&nbsp;&nbsp; break;<br>&nbsp; case 5:<br>&nbsp;&nbsp; playerinfo.innerHTML = "5";<br>&nbsp;&nbsp; break;<br>&nbsp; case 6:<br>&nbsp;&nbsp; playerinfo.innerHTML = "正在缓冲...";<br>&nbsp;&nbsp; break;<br>&nbsp; case 7:<br>&nbsp;&nbsp; playerinfo.innerHTML = "7";<br>&nbsp;&nbsp; break;<br>&nbsp; case 8:<br>&nbsp;&nbsp; playerinfo.innerHTML = "8";<br>&nbsp;&nbsp; break;<br>&nbsp; case 9:<br>&nbsp;&nbsp; playerinfo.innerHTML = "正在连接...";<br>&nbsp;&nbsp; break;<br>&nbsp; case 10:<br>&nbsp;&nbsp; playerinfo.innerHTML = "准备就绪。欢迎光临&lt;a href='http://www.knowsky.com'&gt;http://www.knowsky.com&lt;/a&gt;";<br>&nbsp;&nbsp; break;<br>&nbsp; case 11:<br>&nbsp;&nbsp; playerinfo.innerHTML = "11";<br>&nbsp;&nbsp; break;<br>&nbsp; default:<br>&nbsp;&nbsp; playerinfo.innerHTML = "";<br>}<br>&lt;/script&gt;</p>
<p>&lt;/body&gt;<br>&lt;/html&gt;</p><img src ="http://www.blogjava.net/flustar/aggbug/114510.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flustar/" target="_blank">flustar</a> 2007-04-29 10:32 <a href="http://www.blogjava.net/flustar/archive/2007/04/29/114510.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>