﻿<?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-努力创造未来！-随笔分类-dwr</title><link>http://www.blogjava.net/pdw2009/category/13411.html</link><description>J2EE相关应用技术日志</description><language>zh-cn</language><lastBuildDate>Fri, 07 Mar 2008 13:45:53 GMT</lastBuildDate><pubDate>Fri, 07 Mar 2008 13:45:53 GMT</pubDate><ttl>60</ttl><item><title>dwr+spring</title><link>http://www.blogjava.net/pdw2009/archive/2008/03/07/184454.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Fri, 07 Mar 2008 03:40:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2008/03/07/184454.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/184454.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2008/03/07/184454.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/184454.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/184454.html</trackback:ping><description><![CDATA[<p>唯一不同的就是dwr.xml文件中的配置不同.参与如下例子<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000">&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;dwr&nbsp;PUBLIC&nbsp;"-//GetAhead&nbsp;Limited//DTD&nbsp;Direct&nbsp;Web&nbsp;Remoting&nbsp;1.0//EN"&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;"http://www.getahead.ltd.uk/dwr/dwr10.dtd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">dwr</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">allow</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">create&nbsp;</span><span style="color: #ff0000">creator</span><span style="color: #0000ff">="spring"</span><span style="color: #ff0000">&nbsp;javascript</span><span style="color: #0000ff">="GISInterfaceService"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="beanName"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="gisInterfaceService"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">create</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">allow</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">dwr</span><span style="color: #0000ff">&gt;</span></div>
<img src ="http://www.blogjava.net/pdw2009/aggbug/184454.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2008-03-07 11:40 <a href="http://www.blogjava.net/pdw2009/archive/2008/03/07/184454.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dwr实例</title><link>http://www.blogjava.net/pdw2009/archive/2007/10/19/154218.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Fri, 19 Oct 2007 07:10:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2007/10/19/154218.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/154218.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2007/10/19/154218.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/154218.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/154218.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 只贴代码，其它的就不说了&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt;&lt;!DOCTYPE&nbsp;dwr&nbsp;PUBLIC&nbsp;"-//GetAhead&nbsp;Limited//DTD&nbsp;Direct&nbsp;Web&nbsp;Remoting&nbsp;2.0//EN"&nbsp;"http:...&nbsp;&nbsp;<a href='http://www.blogjava.net/pdw2009/archive/2007/10/19/154218.html'>阅读全文</a><img src ="http://www.blogjava.net/pdw2009/aggbug/154218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2007-10-19 15:10 <a href="http://www.blogjava.net/pdw2009/archive/2007/10/19/154218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DWR学习摘要</title><link>http://www.blogjava.net/pdw2009/archive/2007/07/26/132565.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Thu, 26 Jul 2007 08:01:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2007/07/26/132565.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/132565.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2007/07/26/132565.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/132565.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/132565.html</trackback:ping><description><![CDATA[<p><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 14pt"><font face=宋体>DWR的使用经验:&nbsp;&nbsp;&nbsp;<o:p></o:p></font></span></strong></p>
<p><span lang=EN-US><font face=宋体>&nbsp;&nbsp; 1.. 需要jdom.jar和bsf.jar,否则无法跟spring整合.</font></span></p>
<p><span lang=EN-US><font face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.. dwr生成的javascript函数会自动加一个回调函数的参数,如原来的函数是checkExist(String name),那么生成的javascript函数是checkExist(callbackFunc,String name).</font></span></p>
<p><span lang=EN-US><font face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.. 注意回调函数只能有一个参数,就是服务器的返回值,如function(messFromServer),这里messFromServer是该操作在服务器上的返回值.</font></span></p>
<p><span lang=EN-US><font face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.. util.js里面有很多有用的方法,最好熟悉一下.</font></span></p>
<p><span lang=EN-US><font face=宋体>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5.. convert并不是必须的,只有你的函数需要传递非基本数据类型的数据时需要此项.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我需要增强的,dom操作,javascript</font></span></p>
<p><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 14pt"><o:p><font face=宋体>&nbsp;</font></o:p></span></strong></p>
<p><strong style="mso-bidi-font-weight: normal"><span lang=EN-US style="FONT-SIZE: 14pt"><font face=宋体>DWR collection converter 使用摘要<o:p></o:p></font></span></strong></p>
<p><span lang=EN-US><font face=宋体>&lt;convert converter="collection" match="java.util.Collection"/&gt;但是不知道怎么用，从 Java Object －－&gt; Javascript Object 问题不大，有现成的例子可供参考 ：），就是 Java function 返回一个Collection，看了一下返回值在 javascript 中是的形式是一个object Array然后在 javascript 取出每一个 Object的 property (eg. object.id , objecct.name....)<br>下面是一个应用实例－－－－－－－－－－－－－－－－－－－－－DWR.XML------------------------------</font></span></p>
<p style="MARGIN: 5pt -70.65pt 5pt -8.9pt; TEXT-INDENT: 9pt; mso-para-margin-top: 5.0pt; mso-para-margin-right: -6.73gd; mso-para-margin-bottom: 5.0pt; mso-para-margin-left: -.85gd; mso-char-indent-count: .75"><span lang=EN-US><font face=宋体>&lt;dwr&gt;&nbsp;&nbsp;&nbsp;<br>&lt;allow&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp; &lt;convert converter="bean" match="dwr.sample.Apartment"/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp; &lt;create creator="new" javascript="ApartmentDAO" class="dwr.sample.ApartmentDAO"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><span style="mso-spacerun: yes">&nbsp;</span>&lt;include method="findApartments"/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><span style="mso-spacerun: yes">&nbsp;</span>&lt;include method="countApartments"/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><span style="mso-spacerun: yes">&nbsp;</span>&lt;include method="addApartment"/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&lt;include method="addApartments"/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&lt;include method="addApartments2"/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&lt;/create&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&lt;create creator="spring"&nbsp;&nbsp; javascript="ApartmentDAO"&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&lt;/create&gt;&nbsp;<br><span style="mso-spacerun: yes">&nbsp;</span>&lt;/allow&gt;&nbsp;&nbsp;&nbsp; <br>&lt;signatures&gt;&nbsp;&nbsp;&nbsp;&nbsp; <br>&lt;![CDATA[import java.util.*;&nbsp;&nbsp;&nbsp;&nbsp; <br>import dwr.sample.*;&nbsp;&nbsp;&nbsp;<br>&nbsp; ApartmentDAO.addApartments(List&lt;Apartment&gt;);&nbsp;&nbsp;&nbsp;&nbsp; <br>ApartmentDAO.addApartments2(Map&lt;String,Apartment&gt;);&nbsp;<br><span style="mso-spacerun: yes">&nbsp;</span>]]&gt;&nbsp;&nbsp;&nbsp;<br>&nbsp; &lt;/signatures&gt;<br>&lt;/dwr&gt; <br>如果传如 java 的代码的参数 是一个 Collection ，则要稍微处理以下，先照上面 黑体字 的声明以下传入的Collection的内部包含的类的 确切类型，以便 Java 代码 作出判断；如果传入的参数是一个 List，则在 Javascript 中把这些对象放在 一个Array中就可以了，如果传入的参数是一个Map，原来以为是一个 二维的 Array就行了，但是试过之后发现不行，看了一下例子，原来要使用这种形式：&nbsp; var depts={ "dept1":new department("2", "200"),"dept2":new department("3", "300") };这样传进去之后 Java 就会根据 这些 数据构建 一个Map， </font></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<img src ="http://www.blogjava.net/pdw2009/aggbug/132565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2007-07-26 16:01 <a href="http://www.blogjava.net/pdw2009/archive/2007/07/26/132565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dwr2与struts2整合</title><link>http://www.blogjava.net/pdw2009/archive/2007/07/23/131857.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Mon, 23 Jul 2007 05:20:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2007/07/23/131857.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/131857.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2007/07/23/131857.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/131857.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/131857.html</trackback:ping><description><![CDATA[<div style="MARGIN-TOP: 1px; MARGIN-LEFT: 15px">
<h2>转自于:http://swimren.javaeye.com/blog/98186</h2>
</div>
<div style="MARGIN-TOP: 5px; MARGIN-LEFT: 15px"><strong>关键字:</strong> DWR &nbsp; &nbsp;&nbsp;&nbsp;&nbsp; </div>
<div style="MARGIN-TOP: 10px; MARGIN-LEFT: 15px; OVERFLOW: auto">
<table width="100%">
    <tbody>
        <tr>
            <td>
            <p><font face=Arial>最近发现dwr出了2.0版本，里面提供了与目前一些主流框架的整合，如Spring,JSF,Hibernate,Struts1,Webwork等，但Struts2.0还没有提供，由于现在的项目我们采用的是Struts2.0，所以参考dwr与webwork的整合代码，修改完成了<br>dwr与Struts2的整和代码</font></p>
            <p><font face=Arial>1、首先下载Dwr2的源代码，将 org\directwebremoting\webwork下的类拷出来，放到 新建的一个包<br>&nbsp;&nbsp; 比如 org.dwr.struts2 里，接下去就可以去修改里面的代码，<br>&nbsp;&nbsp;&nbsp; 将类的引用都修改为从struts2的包中引用。<br>2、接下去关键是修改 DWRAction.java这个类<br>&nbsp;&nbsp; 在该类中 比较特殊的是<br>&nbsp;&nbsp; com.opensymphony.webwork.dispatcher.DispatcherUtils </font><font face=Arial>对应的struts2中的<strong>&nbsp; <font size=+0>org.apache.struts2.dispatcher.Dispatcher</font></strong>这个类<br><strong>&nbsp; </strong>ServletActionContext.WEBWORK_VALUESTACK_KEY&nbsp; 对应<strong> <font size=+0>ServletActionContext.STRUTS_VALUESTACK_KEY</font></strong></font></p>
            <p><font face=Arial>3、修改里面的 private DWRAction(ServletContext servletContext) 构造函数为</font></p>
            <div class=code_title>java 代码</div>
            <font face=Arial>
            <div class=dp-highlighter>
            <div class=bar></div>
            <ol class=dp-j>
                <li class=alt><span><span class=keyword>private</span><strong><span>&nbsp;DWRAction(ServletContext&nbsp;servletContext)&nbsp;</span><span class=keyword>throws</span><span>&nbsp;ServletException &nbsp;&nbsp;</span></strong></span><strong> </strong>
                <li class=""><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span> </strong>
                <li class=alt><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=comment>//&nbsp;Dispatcher.initialize(servletContext); </span><span>&nbsp;&nbsp;</span> </strong>
                <li class=""><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wwDispatcher&nbsp;=&nbsp;Dispatcher.getInstance(); &nbsp;&nbsp;</span> </strong>
                <li class=alt><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=keyword>if</span><span>(m_wwDispatcher==</span><span class=keyword>null</span><span>) &nbsp;&nbsp;</span> </strong>
                <li class=""><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;</span> </strong>
                <li class=alt><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wwDispatcher&nbsp;=&nbsp;</span><span class=keyword>new</span><span>&nbsp;Dispatcher(servletContext,&nbsp;</span><span class=keyword>new</span><span>&nbsp;HashMap()); &nbsp;&nbsp;</span> </strong>
                <li class=""><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wwDispatcher.init(); &nbsp;&nbsp;</span> </strong>
                <li class=alt><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dispatcher.setInstance(m_wwDispatcher); &nbsp;&nbsp;</span> </strong>
                <li class=""><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </strong>
                <li class=alt><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span> </strong>
                <li class=""><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_actionProcessor&nbsp;=&nbsp;loadActionProcessor(servletContext.getInitParameter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(DWRACTIONPROCESSOR_INIT_PARAM)); &nbsp;&nbsp;</span> </strong>
                <li class=alt><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;</span> </strong></li>
            </ol>
            </div>
            <p><font face=Arial>然后修改protected ActionInvocation invokeAction 方法 将第126行的代码</font></p>
            <font face=Arial>
            <div class=code_title>java 代码</div>
            <div class=dp-highlighter>
            <div class=bar></div>
            <ol class=dp-j>
                <li class=alt><strong><span><span>ActionProxy&nbsp;proxy&nbsp;=&nbsp;ActionProxyFactory.getFactory().createActionProxy(actionDefinition.getNamespace(),&nbsp;actionDefinition.getAction(),&nbsp;extraContext,&nbsp;actionDefinition.isExecuteResult(),&nbsp;</span><span class=keyword>false</span><span>);&nbsp;&nbsp;&nbsp;</span></span> </strong></li>
            </ol>
            </div>
            <p><font face=Arial>替换为以下代码</font></p>
            <div class=code_title>java 代码</div>
            <p><strong>&nbsp;</strong></p>
            <div class=dp-highlighter>
            <div class=bar></div>
            <ol class=dp-j>
                <li class=alt><strong><span><span>Configuration&nbsp;config&nbsp;=&nbsp;du.getConfigurationManager().getConfiguration(); &nbsp;&nbsp;</span></span> </strong>
                <li class=""><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActionProxy&nbsp;proxy&nbsp;=&nbsp;config.getContainer().getInstance(ActionProxyFactory.</span><span class=keyword>class</span><span>).createActionProxy( &nbsp;&nbsp;</span> </strong>
                <li class=alt><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mapping.getNamespace(),&nbsp;mapping.getName(),&nbsp;extraContext,&nbsp;actionDefinition.isExecuteResult(),&nbsp;</span><span class=keyword>false</span><span>); &nbsp;&nbsp;</span> </strong></li>
            </ol>
            </div>
            <p><font face=Arial>最后将 protected void prepareContinuationAction(HttpServletRequest request, Map extraContext)<br>&nbsp;里的代码都注释掉 就可以了</font></p>
            <p><font face=Arial>4，修改 DWRActionUtil.js文件将里面的webwork字样都替换为 struts2,也可以不用修改，不过觉得不爽就是了<br>&nbsp; 然后就可以按照与webwork整和的方式配置dwr.xml就可以了</font></p>
            <p>&nbsp;</p>
            <p><font face=Arial><font face=Arial><init-param></init-param>最后有一点很重要,就是在 web.xml文件中配置DwrServlet 的时候一定要加上&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;
            </param-name>
            exposeInternals<br>&nbsp;&nbsp;&nbsp;&nbsp;
            </param-value>
            true<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></font></p>
            <p>这个参数,否则生成的 DWRAction.js 这个文件将不存在 <font face=Arial>DWRAction.execute(actionObj, params, callbackObj) 这个函数,这个问题折磨了我近半天的时间啊.</font></p>
            <p>如果需要可以提供代码上来,不过最好还是建议大家亲自去修改一下比较好.</p>
            <p><br></p>
            </font></font></td>
        </tr>
    </tbody>
</table>
</div>
<div class=topic_summary>
<table width="100%">
    <tbody>
        <tr>
            <td vAlign=bottom width="90%">最后更新：2007-07-07 11:10<br>17:17&nbsp;&nbsp;|&nbsp;&nbsp; <a href="javascript:Element.toggle('link98186');"><u><font color=#0000ff>永久链接</font></u></a>&nbsp;&nbsp;|&nbsp;&nbsp; 浏览&nbsp;(994)&nbsp;&nbsp;|&nbsp;&nbsp; <a href="http://swimren.javaeye.com/blog/98186#comments"><u><font color=#800080>评论</font></u></a>&nbsp;(5)&nbsp;&nbsp;| &nbsp;&nbsp; <a href="http://swimren.javaeye.com/admin/favorite_blog/327910"><u><font color=#0000ff>收藏</font></u></a>&nbsp;&nbsp;|&nbsp;&nbsp; <a href="http://swimren.javaeye.com/category/866?category=13099"><u><font color=#0000ff>AJAX</font></u></a>&nbsp;&nbsp;|&nbsp;&nbsp; <a href="http://swimren.javaeye.com/topic/98186"><u><font color=#0000ff>进入论坛</font></u></a>&nbsp;&nbsp;|&nbsp;&nbsp; <span style="COLOR: #006699"></span></td>
            <td width="10%"></td>
        </tr>
    </tbody>
</table>
</div>
<div class=topic_link id=link98186 style="DISPLAY: none">
<table width="90%" align=center border=0>
    <tbody>
        <tr>
            <td align=left height=30><span class=date_show>永久链接</span></td>
        </tr>
        <tr>
            <td align=left><a href="http://swimren.javaeye.com/blog/98186"><u><font color=#800080>http://swimren.javaeye.com/blog/98186</font></u></a> </td>
        </tr>
    </tbody>
</table>
</div>
<div><a name=comments></a>
<div style="BORDER-TOP: gray 1px solid; MARGIN-TOP: 15px">
<div id=comment-list style="MARGIN: 10px 20px 0px">
<div>
<table width="100%">
    <tbody>
        <tr vAlign=top>
            <td width="50%"><strong class=title>评论</strong> &nbsp;&nbsp;&nbsp;共 5 条 </td>
            <td align=right width="50%"><a href="javascript:Field.focus('message');"><u><font color=#0000ff>发表评论</font></u></a> </td>
        </tr>
    </tbody>
</table>
</div>
<div style="MARGIN-TOP: 10px">
<div id=post_328014>
<div class=light_b style="PADDING-RIGHT: 2px; MARGIN-TOP: 10px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px"><a href="http://totodo.javaeye.com/"><u><font color=#0000ff>totodo</font></u></a> &nbsp;&nbsp;&nbsp; 2007-07-05 20:35 </div>
<div style="MARGIN-TOP: 5px">
<table width="100%">
    <tbody>
        <tr>
            <td>
            <p>其实 ，Servlet那层，可以扔掉了。</p>
            <p>不要在再Web层还用 XX+XX。</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
</div>
<div id=post_328218>
<div class=light_b style="PADDING-RIGHT: 2px; MARGIN-TOP: 10px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px"><a href="http://swimren.javaeye.com/"><u><font color=#0000ff>swimren</font></u></a> &nbsp;&nbsp;&nbsp; 2007-07-06 08:23 </div>
<div style="MARGIN-TOP: 5px">
<table width="100%">
    <tbody>
        <tr>
            <td>
            <p>对,采用dwr,可以直接去访问业务层,不用采用Struts 之类的,但有些时候还需要控制层,在个别的地方的使用dwr去调用,两种结合着就比较好了.</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
</div>
<div id=post_328936>
<div class=light_b style="PADDING-RIGHT: 2px; MARGIN-TOP: 10px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px"><a href="http://movingboy.javaeye.com/"><u><font color=#0000ff>movingboy</font></u></a> &nbsp;&nbsp;&nbsp; 2007-07-07 00:06 </div>
<div style="MARGIN-TOP: 5px">
<table width="100%">
    <tbody>
        <tr>
            <td>
            <p>请教楼主：</p>
            <p>1.我现在在试用AppFuse 2.0-M5，我尝试了它自带的DWR 2.0.1和Struts 2.0.6，在客户端能够正确地调用Struts action的方法并返回数据。我看了DWRAction.java的代码，确实是象你提到的改动前的样子，但我没做任何改动。我想问一下你改动这个类的目的是什么呢？不改动会有什么问题呢？</p>
            <p>2.你在文中提到：</p>
            <p>
            <div class=quote_title>引用</div>
            <div class=quote_div>最后有一点很重要,就是在 web.xml文件中配置DwrServlet 的时候一定要加上 <br>exposeInternals <br>true <br></div>
            <p>&#160;</p>
            <p>我的web.xml没有设置这一项。如果没有生成DWRAction.execute(actionObj, params, callbackObj) ，会有什么问题呢？</p>
            <p>附上我的例子作为分析参考： <br>dwr.xml的配置： <br>
            <div class=code_title>代码</div>
            <div class=code_div>
            <div class=dp-highlighter>
            <div class=bar></div>
            <ol class=dp-xml>
                <li class=alt><span><span>&lt;!DOCTYPE&nbsp;dwr&nbsp;PUBLIC &nbsp;&nbsp;</span></span></li>
                <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;"-//GetAhead&nbsp;Limited//DTD&nbsp;Direct&nbsp;Web&nbsp;Remoting&nbsp;2.0//EN" &nbsp;&nbsp;</span></li>
                <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;"http://getahead.ltd.uk/dwr/dwr20.dtd"</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=""><span></span><span class=tag>&lt;</span><span class=tag-name>dwr</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>allow</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>create</span><span>&nbsp;</span><span class=attribute>creator</span><span>=</span><span class=attribute-value>"spring"</span><span>&nbsp;</span><span class=attribute>javascript</span><span>=</span><span class=attribute-value>"inquiryMasterAction"</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>param</span><span>&nbsp;</span><span class=attribute>name</span><span>=</span><span class=attribute-value>"class"</span><span>&nbsp;</span><span class=attribute>value</span><span>=</span><span class=attribute-value>"cn.net.cogent.summer.webapp.action.InquiryMasterAction"</span><span class=tag>/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>param</span><span>&nbsp;</span><span class=attribute>name</span><span>=</span><span class=attribute-value>"beanName"</span><span>&nbsp;</span><span class=attribute>value</span><span>=</span><span class=attribute-value>"inquiryMasterAction"</span><span class=tag>/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>include</span><span>&nbsp;</span><span class=attribute>method</span><span>=</span><span class=attribute-value>"getDetailsByMasterId"</span><span class=tag>/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=tag>&lt;/</span><span class=tag-name>create</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>convert</span><span>&nbsp;</span><span class=attribute>converter</span><span>=</span><span class=attribute-value>"bean"</span><span>&nbsp;</span><span class=attribute>match</span><span>=</span><span class=attribute-value>"cn.net.cogent.summer.model.InquiryDetail"</span><span class=tag>/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=tag>&lt;/</span><span class=tag-name>allow</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=alt><span></span><span class=tag>&lt;/</span><span class=tag-name>dwr</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
            </ol>
            </div>
            </div>
            <script>render_code();</script>
            <p>&#160;</p>
            <p>其中InquiryMasterAction的getDetailsByMasterId方法的Java代码为： <br>
            <div class=code_title>代码</div>
            <div class=code_div>
            <div class=dp-highlighter>
            <div class=bar></div>
            <ol class=dp-j>
                <li class=alt><span><span class=keyword>public</span><span>&nbsp;List&lt;InquiryDetail&gt;&nbsp;getDetailsByMasterId(Long&nbsp;masterId);&nbsp;&nbsp;</span></span></li>
            </ol>
            </div>
            </div>
            <script>render_code();</script>
            <p>&#160;</p>
            <p>生成的inquiryMasterAction.js的内容： <br>
            <div class=code_title>代码</div>
            <div class=code_div>
            <div class=dp-highlighter>
            <div class=bar></div>
            <ol class=dp-j>
                <li class=alt><span><span class=comment>//&nbsp;Provide&nbsp;a&nbsp;default&nbsp;path&nbsp;to&nbsp;dwr.engine </span><span>&nbsp;&nbsp;</span></span></li>
                <li class=""><span></span><span class=keyword>if</span><span>&nbsp;(dwr&nbsp;==&nbsp;</span><span class=keyword>null</span><span>)&nbsp;var&nbsp;dwr&nbsp;=&nbsp;{}; &nbsp;&nbsp;</span></span></li>
                <li class=alt><span></span><span class=keyword>if</span><span>&nbsp;(dwr.engine&nbsp;==&nbsp;</span><span class=keyword>null</span><span>)&nbsp;dwr.engine&nbsp;=&nbsp;{}; &nbsp;&nbsp;</span></span></li>
                <li class=""><span></span><span class=keyword>if</span><span>&nbsp;(DWREngine&nbsp;==&nbsp;</span><span class=keyword>null</span><span>)&nbsp;var&nbsp;DWREngine&nbsp;=&nbsp;dwr.engine; &nbsp;&nbsp;</span></span></li>
                <li class=alt><span>&nbsp;&nbsp;</span></li>
                <li class=""><span></span><span class=keyword>if</span><span>&nbsp;(inquiryMasterAction&nbsp;==&nbsp;</span><span class=keyword>null</span><span>)&nbsp;var&nbsp;inquiryMasterAction&nbsp;=&nbsp;{}; &nbsp;&nbsp;</span></span></li>
                <li class=alt><span>inquiryMasterAction._path&nbsp;=&nbsp;'/dwr'; &nbsp;&nbsp;</span></li>
                <li class=""><span>inquiryMasterAction.getDetailsByMasterId&nbsp;=&nbsp;function(p0,&nbsp;callback)&nbsp;{ &nbsp;&nbsp;</span></li>
                <li class=alt><span>&nbsp;&nbsp;dwr.engine._execute(inquiryMasterAction._path,&nbsp;'inquiryMasterAction',&nbsp;'getDetailsByMasterId',&nbsp;p0,&nbsp;callback); &nbsp;&nbsp;</span></li>
                <li class=""><span>} &nbsp;&nbsp;</span></li>
            </ol>
            </div>
            </div>
            <script>render_code();</script>
            <p>&#160;</p>
            <p>在JSP页面中只需要调用： <br>
            <div class=code_title>代码</div>
            <div class=code_div>
            <div class=dp-highlighter>
            <div class=bar></div>
            <ol class=dp-xml>
                <li class=alt><span><span class=tag>&lt;</span><span class=tag-name>script</span><span>&nbsp;</span><span class=attribute>type</span><span>=</span><span class=attribute-value>'text/javascript'</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
                <li class=""><span>&nbsp;&nbsp;var&nbsp;</span><span class=attribute>masterId</span><span>&nbsp;=&nbsp;</span><span class=attribute-value>1</span><span>; &nbsp;&nbsp;</span></span></li>
                <li class=alt><span>&nbsp;&nbsp;var&nbsp;result; &nbsp;&nbsp;</span></li>
                <li class=""><span>&nbsp;&nbsp;inquiryMasterAction.getDetailsByMasterId(1,&nbsp;result); &nbsp;&nbsp;</span></li>
                <li class=alt><span></span><span class=tag>&lt;/</span><span class=tag-name>script</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span></li>
            </ol>
            </div>
            </div>
            <script>render_code();</script>
            <p>&#160;</p>
            </td>
        </tr>
    </tbody>
</table>
</div>
</div>
<div id=post_329110>
<div class=light_b style="PADDING-RIGHT: 2px; MARGIN-TOP: 10px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px"><a href="http://swimren.javaeye.com/"><u><font color=#0000ff>swimren</font></u></a> &nbsp;&nbsp;&nbsp; 2007-07-07 10:57 </div>
<div style="MARGIN-TOP: 5px">
<table width="100%">
    <tbody>
        <tr>
            <td>
            <p>to movingboy :</p>
            <p>我没有具体的去研究 AppFuse 2.0-M5的源码，不过从你的描述中可以看出来，你的这种配置方式也是可以正常工作的。 <br>首先你是 把InquiryMasterAction 看作一个独立的类来处理的，也就是说针对 InquiryMasterAction 单独生成了一个<strong>inquiryMasterAction.js</strong>文件，而方法getDetailsByMasterId 返回的是你实际需要的数据。然后再通过 <br><strong>inquiryMasterAction.getDetailsByMasterId(1, result); </strong>去调用的，这种方式是DWR最初的最简单方式。你的例子里实际上是没有用到 <strong>DWRAction.js</strong>这个文件和<strong>DWRAction.java</strong>这个类了。 <br>但是在Struts2中，Action 中的方法是需要具体的返回一个String类型的 result,也就是定位到具体的页面或路径上。而需要的数据都被放到 ValueStack中了。所以数据的取法就不一样了。 <br>上面说的dwr2与strut2的整和，主要是为了不需要调整原来的Action的写法。所有的Action 的调用都可以通过 <br>
            <div class=code_title>代码</div>
            <div class=code_div>
            <div class=dp-highlighter>
            <div class=bar></div>
            <ol class=dp-j>
                <li class=alt><span><span>DWRActionUtil.execute({ &nbsp;&nbsp;</span></span></li>
                <li class=""><span>&nbsp;&nbsp;namespace:'/yournamespace', &nbsp;&nbsp;</span></li>
                <li class=alt><span>&nbsp;&nbsp;action:'yourAction', &nbsp;&nbsp;</span></li>
                <li class=""><span>&nbsp;&nbsp;method:'yourMethod', &nbsp;&nbsp;</span></li>
                <li class=alt><span>&nbsp;&nbsp;executeResult:'</span><span class=keyword>true</span><span>' &nbsp;&nbsp;</span></span></li>
                <li class=""><span>},&nbsp;'data',&nbsp;callBack);&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
            </ol>
            </div>
            </div>
            <script>render_code();</script>
            <br>这种方式去调用就可以了,这个方法最终会去调用 <strong>DWRAction.js</strong>里的execute()方法。这种方式是保留了Action的原汁原味，按照Struts2的机制去处理的。 <br>具体的你可以参考一下 dwr2的文档中 与webwork整和的部分或着参考下面的 <br><a href="http://wiki.javascud.org/display/dwrcn/WebWork+Integration?focusedCommentId=917506" target=blank><u><font color=#0000ff>http://wiki.javascud.org/display/dwrcn/WebWork+Integration?focusedCommentId=917506</font></u></a> <br>也可以</td>
        </tr>
    </tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<img src ="http://www.blogjava.net/pdw2009/aggbug/131857.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2007-07-23 13:20 <a href="http://www.blogjava.net/pdw2009/archive/2007/07/23/131857.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DWR调用http servlet</title><link>http://www.blogjava.net/pdw2009/archive/2006/11/21/82628.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Tue, 21 Nov 2006 15:01:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/11/21/82628.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/82628.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/11/21/82628.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/82628.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/82628.html</trackback:ping><description><![CDATA[
		<p>
				<font face="Times New Roman">
						<font size="2">
								<span style="FONT-FAMILY: 宋体">我们在实际的</span>
								<span lang="EN-US">web</span>
								<span style="FONT-FAMILY: 宋体">应用开发过程中，在用户登录后会向</span>
								<span lang="EN-US">session</span>
								<span style="FONT-FAMILY: 宋体">中塞入一些信息（例如用户信息，菜单信息等），在页面提交后，会从</span>
								<span lang="EN-US">session</span>
								<span style="FONT-FAMILY: 宋体">中取出这些信息，拼成完整的业务记录，保存到数据库中。此时就要求</span>
								<span lang="EN-US">DWR</span>
								<span style="FONT-FAMILY: 宋体">可以与</span>
								<span lang="EN-US">Servlet </span>
								<span style="FONT-FAMILY: 宋体">对象通信。</span>
						</font>
				</font>
		</p>
		<p>
				<font face="Times New Roman">
						<font size="2">
								<span style="FONT-FAMILY: 宋体">其实</span>
								<span lang="EN-US">DWR</span>
								<span style="FONT-FAMILY: 宋体">已经考虑好了，在</span>
								<span lang="EN-US">DWR1.1</span>
								<span style="FONT-FAMILY: 宋体">中可以利用</span>
								<span lang="EN-US">uk.ltd.getahead.dwr.WebContext</span>
								<span style="FONT-FAMILY: 宋体">和</span>
								<span lang="EN-US">uk.ltd.getahead.dwr.WebContextFactory</span>
								<span style="FONT-FAMILY: 宋体">来和</span>
								<span lang="EN-US">Http Servlet</span>
								<span style="FONT-FAMILY: 宋体">的标准对象进行通信，包括：<br /></span>
						</font>
				</font>
		</p>
		<p>
				<font face="Times New Roman">
						<font size="2">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings">
										<span>l<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">HttpServletRequest </span>
						</font>
				</font>
		</p>
		<p>
				<font face="Times New Roman">
						<font size="2">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings">
										<span>l<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">HttpServletResponse </span>
						</font>
				</font>
		</p>
		<p>
				<font face="Times New Roman">
						<font size="2">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings">
										<span>l<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">HttpSession </span>
						</font>
				</font>
		</p>
		<p>
				<font face="Times New Roman">
						<font size="2">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings">
										<span>l<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">ServletContext </span>
						</font>
				</font>
		</p>
		<p>
				<font face="Times New Roman">
						<font size="2">
								<span lang="EN-US" style="FONT-FAMILY: Wingdings">
										<span>l<span style="FONT: 7pt 'Times New Roman'">         </span></span>
								</span>
								<span lang="EN-US">ServletConfig</span> <br /></font>
				</font>
		</p>
		<p> 具体调用的方法如下：<br /></p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> javax.servlet.http.HttpServletRequest; <br /><br /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> uk.ltd.getahead.dwr.WebContext; <br /><br /></span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> uk.ltd.getahead.dwr.WebContextFactory;<br /> import org.directwebremoting.WebContextFactory; //DWR2.0改成这样<br /><br /></span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">/ </span>
				<span style="COLOR: #008000">
						<br />
				</span>
				<span style="COLOR: #000000">
						<br />WebContext ctx </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> WebContextFactory.get(); <br /><br />HttpServletRequest req </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> ctx.getHttpServletRequest(); <br /></span>
		</div>
		<font size="2">     WebContext <font face="Times New Roman"><span style="FONT-FAMILY: 宋体">是使用</span><span lang="EN-US">ThreadLocal</span><span style="FONT-FAMILY: 宋体">保存的，你可以看一下</span><span lang="EN-US">uk.ltd.getahead.dwr.impl.DefaultWebContextBuilder</span><span style="FONT-FAMILY: 宋体">源码，所以可以在任何地方使用它，例如在上一篇的</span><span lang="EN-US">demo</span><span style="FONT-FAMILY: 宋体">中进行测试如下：</span><br />页面里给session设置值<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #000000">@ page contentType</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/html; charset=GBK</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">%&gt;</span><span style="COLOR: #000000"> <br /><br />  <br /><br /></span><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #000000"> <br /><br />System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">This is DWR servlet object!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">); <br /><br />  <br /><br />session.setAttribute(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">dwr</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">love dwr</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">); <br /><br /></span><span style="COLOR: #000000">%&gt;</span><span style="COLOR: #000000"> <br /></span></div></font></font>DWR要调用的类文件<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> test.dwr; <br /><br />  <br /><br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> javax.servlet.http.HttpServletRequest; <br /><br />  <br /><br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> uk.ltd.getahead.dwr.WebContext; <br /><br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> uk.ltd.getahead.dwr.WebContextFactory; <br /><br />  <br /><br /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> MessageDao { <br /><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Message save(Message message) { <br /><br />  <br /><br />        WebContext ctx </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> WebContextFactory.get(); <br /><br />        HttpServletRequest req </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> ctx.getHttpServletRequest(); <br /><br />        <br /><br />  <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">========HttpServletRequest Begin=======</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">); <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">req:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> req.getRemoteHost()); <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">req-session:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> req.getSession().getAttribute(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">dwr</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)); <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> req.getParameter(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)); <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">from:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> req.getParameter(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">from</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)); <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">=========HttpServletRequest End========</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">); <br /><br />  <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">========Lucky DWR Begin=======</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">); <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> message.getText()); <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">from:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> message.getFrom()); <br /><br />        System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">=========Lucky DWR End========</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">); <br /><br />  <br /><br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> message; <br /><br />    } <br /><br />  <br /><br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Message get() { <br /><br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Message(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">This is the first dwr demo!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">test</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">); <br /><br />    } <br /><br />} <br /></span></div><img src ="http://www.blogjava.net/pdw2009/aggbug/82628.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-11-21 23:01 <a href="http://www.blogjava.net/pdw2009/archive/2006/11/21/82628.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DWR对象构造,深入分析dwr中的DWRUtil.getValues </title><link>http://www.blogjava.net/pdw2009/archive/2006/11/21/82626.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Tue, 21 Nov 2006 14:38:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/11/21/82626.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/82626.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/11/21/82626.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/82626.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/82626.html</trackback:ping><description><![CDATA[当你需要通过dwr完成类似提交form的操作，了解DWRUtil.getValues是必须的<br /> /**<br /> * Given a map, call getValue() for all the entries in the map using the entry key as an element id.<br /> * Given a string or element that refers to a form, create an object from the elements of the form.<br /> * @see http://getahead.ltd.uk/dwr/browser/util/getvalues<br /> */<br />DWRUtil.getValues = function(data) {<br /><br />  <span style="COLOR: rgb(255,0,0)">//定义ele变量，</span><br />  var ele;<br /><span style="COLOR: rgb(255,0,0)">//如果ele是一个字符串通过 $函数转化一下，$函数的使用见我的上个帖子</span><a id="CategoryEntryList.ascx_EntryStoryList_Entries_ctl01_TitleUrl" href="http://blog.csdn.net/pwlazy/archive/2006/06/29/847713.aspx">深入分析dwr中的DWRUtil.$</a><span style="TEXT-DECORATION: underline"></span><br />  if (typeof data == "string") ele = $(data);<br /><span style="COLOR: rgb(255,0,0)">//如果ele是个HTML元素对象，通常应该是一个form对象</span><br />  if (DWRUtil._isHTMLElement(data)) ele = data;<br /> <br /> if (ele != null) {<br />  <span style="COLOR: rgb(255,0,0)">  //如果ele不是form对象，返回，只有form对象才有elements 属性</span><br />    if (ele.elements == null) {<br />      alert("getValues() requires an object or reference to a form element.");<br />      return null;<br />    }<br />    <span style="COLOR: rgb(255,0,0)">//定义一个空对象reply</span><br />    var reply = {};<br /><span style="COLOR: rgb(255,0,0)">    //定义一个对象放key</span><br />    var value;<br />  <span style="COLOR: rgb(255,0,0)">  //遍历form,将表单key-value放入reply，忽略&lt;input type="image"/&gt;</span><br />    for (var i = 0; i &lt; ele.elements.length; i++) {<br />      if (ele[i].id != null) value = ele[i].id;<br />      else if (ele[i].value != null) value = ele[i].value;<br />      else value = "element" + i;<br />      reply[value] = DWRUtil.getValue(ele[i]);<br />    }<br />    return reply;<br />  }<br /><br /><span style="COLOR: rgb(255,0,0)">//如果传入的参数对象不是表单对象，通常应该是与领域对象对应js对象</span><br />  else {<br />    <span style="COLOR: rgb(255,0,0)">//遍历对象属性，将与属性对应的页面元素值拷到js对象中</span><br />    for (var property in data) {<br />      // Are there any elements with that id or name<br />      if ($(property) != null || document.getElementsByName(property).length &gt;= 1) {<br />        data[property] = DWRUtil.getValue(property);<br />      }<br />    }<br />    return data;<br />  }<br />};<br /><br /><span style="COLOR: rgb(0,0,255)">总结</span><br style="COLOR: rgb(0,0,255)" /><span style="COLOR: rgb(0,0,255)">1）如果你需要使用ajax完成表单提交的操作，那么你应该使用DWRUtil.getValues，参数或者是个form对象，或者是个与领域对象对应的js对象</span><br style="COLOR: rgb(0,0,255)" /><span style="COLOR: rgb(0,0,255)">2）应该看到第二种用法的局限性，如果存在多个相同的表单或者是个复合的js对象，那么第二种用法是不合适的</span><br style="COLOR: rgb(0,0,255)" /><span style="COLOR: rgb(0,0,255)">3）第一种用法看似复杂，但更具灵活性</span><br style="COLOR: rgb(0,0,255)" /><span style="COLOR: rgb(0,0,255)">到底改如何选择取决于具体的应用</span><br />====================================================<br /> 背景：需要使用ajax完成表单提交操作<br /><br />核心代码如下：<br /><p style="FONT-SIZE: 10pt; MARGIN: 0in"><span lang="EN-US" style="FONT-FAMILY: Verdana"><span>    </span></span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">function addReply(frm){</span></p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun"> </p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun"> </p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">。。。。</p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun"> </p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in"><span lang="EN-US" style="FONT-FAMILY: Verdana">//</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">利用</span><span lang="EN-US" style="FONT-FAMILY: Verdana">dwr</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">自动将</span><span lang="EN-US" style="FONT-FAMILY: Verdana">frm</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">提交的数据植入</span><span lang="EN-US" style="FONT-FAMILY: Verdana">js</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">对象,</span><br /></p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in">//DWRUtil.getValues的使用见我的上篇帖子</p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">var commentForm = DWRUtil.getValues(frm);</p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun"> </p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in"><span lang="EN-US" style="FONT-FAMILY: Verdana">//</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">调用服务器端的服务</span></p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">CommentService.writeComment(writecallback,commentForm );</p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">。。。。。<br />}</p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun"> </p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">注意以下几点</p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in"><span lang="EN-US" style="FONT-FAMILY: Verdana">1</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">）传给服务的</span><span lang="EN-US" style="FONT-FAMILY: Verdana">js</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">对象最好严格与领域对象对应不能有key为""的属性否则会报错,可以有多余  的属性，但后台会出现一些烦人日志信息告诉你无法匹配 <br /></span></p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in"><span lang="ZH-CN" style="FONT-FAMILY: SimSun"></span></p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in"><span lang="ZH-CN" style="FONT-FAMILY: SimSun">2）对于领域对象来说，dwr在转换时会遍历所有get方法（根据传入的js对象属性进行反射不就好了，</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">为什么要遍历get方法，真是奇怪啊</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">），所以注意你的get方法要健壮避免后台会出很多日志信息汇报空指针之类的错误<br /></span></p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun"><br /></p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">3）关于本地传递的js对象，必须结构与领域对象对应。从抽象的角度看多数情况领域对象完   全可以用数组和hash结构描述，何况所谓的对应只是属性的对应，所以合理的使用Array和Object完全可以实现js对象和领域对象的匹配<br /></p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun"> </p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in"><span lang="EN-US" style="FONT-FAMILY: Verdana">4</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">）必须配置合适的转化器</span><span lang="EN-US" style="FONT-FAMILY: Verdana"></span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">让</span><span lang="EN-US" style="FONT-FAMILY: Verdana">dwr</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">知道如何将你传入的</span><span lang="EN-US" style="FONT-FAMILY: Verdana">js</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">对象转化为领域对象</span></p><p lang="EN-US" style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: Verdana"><span></span> </p><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in"><span lang="EN-US" style="FONT-FAMILY: Verdana">5</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">）使用DWRUtil.getValues(frm)或者DWRUtil.getValues(</span><span lang="EN-US" style="FONT-FAMILY: Verdana">obj</span><span lang="ZH-CN" style="FONT-FAMILY: SimSun">)收集提交的数据</span></p><br /><p style="FONT-SIZE: 10pt; MARGIN: 0in 0in 0in 0.5in; FONT-FAMILY: SimSun">   方式的区别详见该文上半部分</p><br /><img src ="http://www.blogjava.net/pdw2009/aggbug/82626.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-11-21 22:38 <a href="http://www.blogjava.net/pdw2009/archive/2006/11/21/82626.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DWR例子(转自于IBM 开发社区)</title><link>http://www.blogjava.net/pdw2009/archive/2006/11/18/81952.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sat, 18 Nov 2006 11:40:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/11/18/81952.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/81952.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/11/18/81952.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/81952.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/81952.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 中国 [选择]    使用条款  dW 全部内容-----------------  AIX and UNIX  Information management  Lotus  Rational  Tivoli  WebSphere  Workplace-----------------  Grid computing  Java 技术  Linux  Open source  Security  ...&nbsp;&nbsp;<a href='http://www.blogjava.net/pdw2009/archive/2006/11/18/81952.html'>阅读全文</a><img src ="http://www.blogjava.net/pdw2009/aggbug/81952.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-11-18 19:40 <a href="http://www.blogjava.net/pdw2009/archive/2006/11/18/81952.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XMLHttpRequest的一简单例子</title><link>http://www.blogjava.net/pdw2009/archive/2006/09/16/70049.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sat, 16 Sep 2006 08:27:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/09/16/70049.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/70049.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/09/16/70049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/70049.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/70049.html</trackback:ping><description><![CDATA[
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">html</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">head</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">title</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">Example 1</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">title</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">script</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">
						<br />
						<br />  </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> req;<br />  </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">var</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> which;<br /><br />  </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> retrieveURL(url) {<br />    </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> (window.XMLHttpRequest) { </span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"> Non-IE browsers</span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">
						<br />
				</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">      req </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> XMLHttpRequest();<br />      req.onreadystatechange </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> processStateChange;<br />      </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">try</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> {<br />        req.open(</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">GET</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, url, </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">true</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />      } </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">catch</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> (e) {<br />        alert(e);<br />      }<br />      req.send(</span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">null</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />    } </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">else</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> (window.ActiveXObject) { </span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"> IE</span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">
						<br />
				</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">      req </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">new</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> ActiveXObject(</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">Microsoft.XMLHTTP</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />      </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> (req) {<br />        req.onreadystatechange </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> processStateChange;<br />        req.open(</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">GET</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">, url, </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">true</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">);<br />        req.send();<br />      }<br />    }<br />  }<br /><br />  </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">function</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> processStateChange() {<br />    </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> (req.readyState </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">4</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">) { </span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"> Complete</span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">
						<br />
				</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">      </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">if</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> (req.status </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">==</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">200</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">) { </span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">//</span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5"> OK response</span>
				<span style="COLOR: #008000; BACKGROUND-COLOR: #f5f5f5">
						<br />
				</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">        document.getElementById(</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">urlContent</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">).innerHTML </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> req.responseText;<br />      } </span>
				<span style="COLOR: #0000ff; BACKGROUND-COLOR: #f5f5f5">else</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> {<br />        alert(</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">Problem: </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">+</span>
				<span style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> req.statusText);<br />      }<br />    }<br />  }<br /><br /></span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">script</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">head</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">body</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">h1</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">Example 1</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">h1</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />Simple URL retrieval and display.</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">hr</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">p </span>
				<span style="COLOR: #ff0000">align</span>
				<span style="COLOR: #0000ff">="right"</span>
				<span style="COLOR: #0000ff">&gt;&lt;</span>
				<span style="COLOR: #800000">a </span>
				<span style="COLOR: #ff0000">href</span>
				<span style="COLOR: #0000ff">="home.do"</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">Return home</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">a</span>
				<span style="COLOR: #0000ff">&gt;&lt;/</span>
				<span style="COLOR: #800000">p</span>
				<span style="COLOR: #0000ff">&gt;&lt;</span>
				<span style="COLOR: #800000">br</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />This example allows the user to enter a URL, which is then retrieved and<br />displayed in a </span>
				<span style="COLOR: #ff0000">&amp;lt;</span>
				<span style="COLOR: #000000">span</span>
				<span style="COLOR: #ff0000">&amp;gt;</span>
				<span style="COLOR: #000000">.  This demonstrates that what is retrieved is NOT<br />treated as an HTML document but rather a simple stream of data, hence the<br />document is not parsed and page events don't fire, images don't get retrieved,<br />etc.<br /></span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">br</span>
				<span style="COLOR: #0000ff">&gt;&lt;</span>
				<span style="COLOR: #800000">br</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">b</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">Note that you will get a security warning if the domain you are accessing<br />is not the same as this example (which I assume it won't be).  In fact,<br />some browsers will not allow this (Firefox), while others will with a<br />warning (IE).</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">b</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">br</span>
				<span style="COLOR: #0000ff">&gt;&lt;</span>
				<span style="COLOR: #800000">br</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">form</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">input </span>
				<span style="COLOR: #ff0000">type</span>
				<span style="COLOR: #0000ff">="text"</span>
				<span style="COLOR: #ff0000"> name</span>
				<span style="COLOR: #0000ff">="urlToRetrieve"</span>
				<span style="COLOR: #ff0000"> size</span>
				<span style="COLOR: #0000ff">="50"</span>
				<span style="COLOR: #ff0000"> value</span>
				<span style="COLOR: #0000ff">="http://www.omnytex.com"</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">input </span>
				<span style="COLOR: #ff0000">type</span>
				<span style="COLOR: #0000ff">="button"</span>
				<span style="COLOR: #ff0000"> name</span>
				<span style="COLOR: #0000ff">="getURL"</span>
				<span style="COLOR: #ff0000"> value</span>
				<span style="COLOR: #0000ff">="Get URL Contents"</span>
				<span style="COLOR: #ff0000"> onClick</span>
				<span style="COLOR: #0000ff">="retrieveURL(urlToRetrieve.value);"</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">form</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">br</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">table </span>
				<span style="COLOR: #ff0000">border</span>
				<span style="COLOR: #0000ff">="1"</span>
				<span style="COLOR: #ff0000"> bordercolor</span>
				<span style="COLOR: #0000ff">="#000000"</span>
				<span style="COLOR: #ff0000"> cellpadding</span>
				<span style="COLOR: #0000ff">="5"</span>
				<span style="COLOR: #ff0000"> cellspacing</span>
				<span style="COLOR: #0000ff">="0"</span>
				<span style="COLOR: #ff0000"> width</span>
				<span style="COLOR: #0000ff">="100%"</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />  </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">tr</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />    </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">td</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />      </span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">span </span>
				<span style="COLOR: #ff0000">id</span>
				<span style="COLOR: #0000ff">="urlContent"</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">Retrieved content will be displayed here</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">span</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />    </span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">td</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />  </span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">tr</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">table</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">br</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">body</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
				<span style="COLOR: #0000ff">&lt;/</span>
				<span style="COLOR: #800000">html</span>
				<span style="COLOR: #0000ff">&gt;</span>
				<span style="COLOR: #000000">
						<br />
				</span>
		</div>
		<br />这例子很简单是一个ajax最原始的实始了<img src ="http://www.blogjava.net/pdw2009/aggbug/70049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-09-16 16:27 <a href="http://www.blogjava.net/pdw2009/archive/2006/09/16/70049.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DWR2配置及入门例子</title><link>http://www.blogjava.net/pdw2009/archive/2006/09/16/70048.html</link><dc:creator>有猫相伴的日子</dc:creator><author>有猫相伴的日子</author><pubDate>Sat, 16 Sep 2006 08:11:00 GMT</pubDate><guid>http://www.blogjava.net/pdw2009/archive/2006/09/16/70048.html</guid><wfw:comment>http://www.blogjava.net/pdw2009/comments/70048.html</wfw:comment><comments>http://www.blogjava.net/pdw2009/archive/2006/09/16/70048.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/pdw2009/comments/commentRss/70048.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pdw2009/services/trackbacks/70048.html</trackback:ping><description><![CDATA[以前用过dwr1做过一些简单的例子，现在想认真深入的了解dwr2并希望以后有机会用过她。在我眼里dwr2是ajax世界的大美女，她清纯、可爱，最讨J2EE程序员喜欢。<br /><br /><br /><br /><strong>DWR嵌入到现有的J2EE(Web)项目的的配置<br /></strong>    1、把dwr.jar文件拷贝到项目的lib目录下。<br />    2、修改项目的web.xml文件，在文件中加入以下代码<br /><font color="#d3d3d3">         
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">          </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />               </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">dwr-invoker</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />               </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">org.directwebremoting.servlet.DwrServlet</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />               </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">init-param</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />                     </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">debug</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">param-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />                     </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param-value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">true</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">param-value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />               </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">init-param</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />         </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet-mapping</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />              </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">dwr-invoker</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />              </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">url-pattern</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/dwr/*</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">url-pattern</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />       </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">servlet-mapping</span><span style="COLOR: #0000ff">&gt;</span></div><br /></font>    3、在WEB-INF目录中建立dwr.xml文件，例如:<br />          <br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">&lt;?</span><span style="COLOR: #ff00ff">xml version="1.0" encoding="UTF-8"</span><span style="COLOR: #0000ff">?&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;!</span><span style="COLOR: #ff00ff">DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">dwr</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">init</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">init</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">allow</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">create </span><span style="COLOR: #ff0000">creator</span><span style="COLOR: #0000ff">="new"</span><span style="COLOR: #ff0000"> javascript</span><span style="COLOR: #0000ff">="dwrbo"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="class"</span><span style="COLOR: #ff0000"> value</span><span style="COLOR: #0000ff">="com.dwr.DwrBO"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">create</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">allow</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">dwr</span><span style="COLOR: #0000ff">&gt;</span></div>以上dwr.xml文件内容还是比较好理解。就是发布一个类，一个类发布了，那么就可以通过js 的代码来调用这个类里的方法了。<br />4、com.dwr.DwrBO类的内容如下：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000"> com.dwr;<br /><br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.directwebremoting.WebContextFactory;<br /><br /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> uk.ltd.getahead.dwr.ExecutionContext;<br /><br /><br /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> DwrBO {<br />        <br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getInclude()</span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> Exception{<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> WebContextFactory.get().forwardToString(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/a.jsp</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />    }<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String getServerInfo(){<br />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> WebContextFactory.get().getServletContext().getServerInfo()</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Run on JDK: </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">System.getProperty(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">java.specification.version</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"><br />        </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Useing DWR :</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">ExecutionContext.get().getVersion();<br />    }<br />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[] getNumbers(</span><span style="COLOR: #0000ff">boolean</span><span style="COLOR: #000000"> big){<br />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(big){<br />            System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">big==true</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[]{</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2000</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">3000</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">4000</span><span style="COLOR: #000000">};<br />        }</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">{<br />            System.out.println(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">big==false</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">[]{</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">7</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">10</span><span style="COLOR: #000000">};<br />        }<br />        <br />    }<br />}<br /></span></div>这实际上是dwr官方网站上的例子. <br /><br />5、页面调用代码<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #000000">@ page language</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">java</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> pageEncoding</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">UTF-8</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">%&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #000000">@ taglib uri</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://jakarta.apache.org/struts/tags-bean</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> prefix</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">bean</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">%&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #000000">@ taglib uri</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://jakarta.apache.org/struts/tags-html</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> prefix</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">html</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">%&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #000000">@ taglib uri</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://jakarta.apache.org/struts/tags-logic</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> prefix</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">logic</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">%&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #000000">@ taglib uri</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://jakarta.apache.org/struts/tags-tiles</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> prefix</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">tiles</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">%&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #000000">@ taglib uri</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://jakarta.apache.org/struts/tags-template</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> prefix</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">template</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">%&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;%</span><span style="COLOR: #000000">@ taglib uri</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://jakarta.apache.org/struts/tags-nested</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> prefix</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">nested</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">%&gt;</span><span style="COLOR: #000000"><br /><br /></span><span style="COLOR: #000000">&lt;!</span><span style="COLOR: #000000">DOCTYPE HTML PUBLIC </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">-//W3C//DTD HTML 4.01 Transitional//EN</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">html:html locale</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">true</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">head</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">html:base </span><span style="COLOR: #000000">/&gt;</span><span style="COLOR: #000000"><br />    <br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">title</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">测试</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">title</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">meta http</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">equiv</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Content-Type</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> content</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/html; charset=utf-8</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">/&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">meta http</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">equiv</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">pragma</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> content</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">no-cache</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">meta http</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">equiv</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">cache-control</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> content</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">no-cache</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">meta http</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">equiv</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">expires</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> content</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">    <br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">meta http</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">equiv</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">keywords</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> content</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">keyword1,keyword2,keyword3</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">meta http</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">equiv</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">description</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> content</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">This is my page</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">style type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/css</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;!--</span><span style="COLOR: #000000"><br />#Layer1 {<br />    position:absolute;<br />    left:47px;<br />    top:24px;<br />    width:677px;<br />    height:31px;<br />    z</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">index:</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;<br />}<br />#context {<br />    position:absolute;<br />    left:45px;<br />    top:100px;<br />    width:679px;<br />    height:100px;<br />    z</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">index:</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br />    background</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">color: #f8f8f8;<br />    clip: rect(10px,auto,auto,auto);<br />    margin</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">top: 10px;<br />}<br />#version {<br />    position: relative;<br />    top: 200px;<br />    width: 200px;<br />}<br />#Layer2 {<br />    position:absolute;<br />    left:26px;<br />    top:247px;<br />    width:485px;<br />    height:76px;<br />    z</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">index:</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">;<br />    background</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">color: f2f2f2;<br />    border: 1px solid #f4f4f4;<br />}<br />body {<br />    font</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">size: 12px;<br />}<br /></span><span style="COLOR: #000000">--&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">style</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">   src</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;%=request.getContextPath()%&gt;/dwr/interface/dwrbo.js</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">   src</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;%=request.getContextPath()%&gt;/dwr/engine.js</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">script type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">   src</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&lt;%=request.getContextPath()%&gt;/dwr/util.js</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">script</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> <br />    <br />    </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">SCRIPT language</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">javascript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />         function loadinfo(data) {<br />              DWRUtil.setValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">context</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">, data);<br />        }<br />        function test(){<br />             dwrbo.getInclude(loadinfo);<br />        }<br />        function loadinfoversion(data){<br />            DWRUtil.setValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">version</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,data);<br />        }<br />        function showversion(){<br />            dwrbo.getServerInfo(loadinfoversion);<br />        }<br />        <br />        function createList(data){<br />            DWRUtil.removeAllOptions(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">numlist</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />            DWRUtil.addOptions(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">numlist</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,data);<br />        }<br />    <br />        function update(){<br />            alert(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">xxxs</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br />            dwrbo.getNumbers(createList,${</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">bigselect</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">}.checked);<br />        }<br />    <br />    </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">SCRIPT</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">head</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  <br />  </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">body</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">    <br />  </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">div id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Layer1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />      </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">input type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">submit</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Submit</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">测试</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> onClick</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">test()</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />      </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">input type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">submit</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Submit</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">版本信息</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> onClick</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">showversion()</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">div</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">div id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">context</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">div</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">div id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">version</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"> <br />  </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">div</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">div id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Layer2</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />     </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">input type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">checkbox</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">   id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">bigselect onclick</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">update()</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">数字类型</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">br</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />     </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">select  id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">numlist</span><span style="COLOR: #000000">&gt;&lt;/</span><span style="COLOR: #000000">select</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">div</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br />  </span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">body</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">html:html</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br /></span></div><br />这只是一个简单的例子，至于具体的技术说明就不说了，因为很简单。把它贴出来当作一个笔记吧，希望能进一步学习DWR<img src ="http://www.blogjava.net/pdw2009/aggbug/70048.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pdw2009/" target="_blank">有猫相伴的日子</a> 2006-09-16 16:11 <a href="http://www.blogjava.net/pdw2009/archive/2006/09/16/70048.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>