﻿<?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-不做浮躁的人-随笔分类-webwork</title><link>http://www.blogjava.net/bjwulin/category/15368.html</link><description>2001开始做pb，我以为java离我很远很远，2004年初不得不转型做java，做java的时候，我以为c++离我很远很远，而2007年开始，我不得不转型做c++...</description><language>zh-cn</language><lastBuildDate>Thu, 17 May 2007 12:04:36 GMT</lastBuildDate><pubDate>Thu, 17 May 2007 12:04:36 GMT</pubDate><ttl>60</ttl><item><title>webwork 模型驱动的开发小问题，备忘。</title><link>http://www.blogjava.net/bjwulin/archive/2007/04/10/109710.html</link><dc:creator>不做浮躁的人</dc:creator><author>不做浮躁的人</author><pubDate>Tue, 10 Apr 2007 11:10:00 GMT</pubDate><guid>http://www.blogjava.net/bjwulin/archive/2007/04/10/109710.html</guid><wfw:comment>http://www.blogjava.net/bjwulin/comments/109710.html</wfw:comment><comments>http://www.blogjava.net/bjwulin/archive/2007/04/10/109710.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/bjwulin/comments/commentRss/109710.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bjwulin/services/trackbacks/109710.html</trackback:ping><description><![CDATA[
		<p>
				<br />一：Person类，有个Department department属性。<br />然后在PersonAction类中提供了一个getDepartment()方法。<br /><br />误会：&lt;ww:property value="%{department}"/&gt; 始终不输出。<br /><br />修改为：&lt;ww:property value="%{getDepartment()}"/&gt;，则可以输出。<br /><br />原因：第一种表达，webwork优先用getModel().getDepartment()，而不是直接getDepartment()。<br /><br />二：Person类有个List&lt;Subject&gt; subjects属性，在person的维护页面中，我们想同时对subjects进行维护，利用webwork对集合框架的支持，采用该Action的转换文件中定义集合框架里面对象的类型。<br />比如：<br />Element_subjects = com.xxx.model.Subject<br />在Action类中定义private List subjects。<br />这样就会出现问题，webwork始终会把subjects的数据压入到model.getSubjects().add(...)。因此，Action类中的subjects最好修改为其它名称，避免和Person类中的属性同名。<br /><br /></p>
<img src ="http://www.blogjava.net/bjwulin/aggbug/109710.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bjwulin/" target="_blank">不做浮躁的人</a> 2007-04-10 19:10 <a href="http://www.blogjava.net/bjwulin/archive/2007/04/10/109710.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Webwork中使用ajax做客户端验证</title><link>http://www.blogjava.net/bjwulin/archive/2006/10/21/76586.html</link><dc:creator>不做浮躁的人</dc:creator><author>不做浮躁的人</author><pubDate>Sat, 21 Oct 2006 15:43:00 GMT</pubDate><guid>http://www.blogjava.net/bjwulin/archive/2006/10/21/76586.html</guid><wfw:comment>http://www.blogjava.net/bjwulin/comments/76586.html</wfw:comment><comments>http://www.blogjava.net/bjwulin/archive/2006/10/21/76586.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/bjwulin/comments/commentRss/76586.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/bjwulin/services/trackbacks/76586.html</trackback:ping><description><![CDATA[一：在Webwork中使用Ajax做验证必须注意以下三点：<br />1、设置Dwr Servlet，使用dojo和ajax的主题。<br />2：在ajax的主题里面，dwr作为普通的验证处理。dojo处理其它的验证，如Widgets,XHR，Browser js events等。<br />3：建议使用标准的Webwork tags。<br /><br />二：设置Dwr：<br />1：建立dwr.xml文件。该文件一般放在/web-inf/目录下。<br /><pre class="code-xml">&lt;!DOCTYPE dwr PUBLIC 
	<span class="code-quote">"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"<br /></span><span class="code-quote">"http://www.getahead.ltd.uk/dwr/dwr10.dtd"</span>&gt;

<span class="code-tag">&lt;dwr&gt;<br /></span><span class="code-tag">&lt;allow&gt;<br /></span><span class="code-tag">   &lt;create creator=<span class="code-quote">"new"</span> javascript=<span class="code-quote">"validator"</span>&gt;<br /></span><span class="code-tag">      &lt;param name=<span class="code-quote">"class"</span> value=<span class="code-quote">"com.opensymphony.webwork.validators.DWRValidator"</span>/&gt;<br />   </span><span class="code-tag">&lt;/create&gt;<br />   </span><span class="code-tag">&lt;convert converter=<span class="code-quote">"bean"</span> match=<span class="code-quote">"com.opensymphony.xwork.ValidationAwareSupport"</span>/&gt;<br /></span><span class="code-tag">&lt;/allow&gt;<br /></span><span class="code-tag">&lt;signatures&gt;</span>
        &lt;![CDATA[
        import java.util.Map;
        import com.opensymphony.webwork.validators.DWRValidator;

        DWRValidator.doPost(String, String, Map<span class="code-tag">&lt;String, String&gt;</span>);
        ]]&gt;
    <span class="code-tag">&lt;/signatures&gt;</span><span class="code-tag">&lt;/dwr&gt;<br />2：在Web.xml文件中加入对DwrServlet的定义：<br /><span class="code-tag">&lt;servlet&gt;<br /></span><span class="code-tag">   &lt;servlet-name&gt;</span>dwr<span class="code-tag">&lt;/servlet-name&gt;<br /></span><span class="code-tag">   &lt;servlet-class&gt;</span>uk.ltd.getahead.dwr.DWRServlet<span class="code-tag">&lt;/servlet-class&gt;<br />   </span><span class="code-tag">&lt;init-param&gt;<br />      </span><span class="code-tag">&lt;param-name&gt;</span>debug<span class="code-tag">&lt;/param-name&gt;<br />      </span><span class="code-tag">&lt;param-value&gt;</span>true<span class="code-tag">&lt;/param-value&gt;<br />   </span><span class="code-tag">&lt;/init-param&gt;<br /></span><span class="code-tag">&lt;/servlet&gt;<br /></span><span class="code-tag">&lt;servlet-mapping&gt;<br />   </span><span class="code-tag">&lt;servlet-name&gt;</span>dwr<span class="code-tag">&lt;/servlet-name&gt;<br />   </span><span class="code-tag">&lt;url-pattern&gt;</span>/dwr/*<span class="code-tag">&lt;/url-pattern&gt;<br /></span><span class="code-tag">&lt;/servlet-mapping&gt;<br /><br /><br /><br />三：使用<br />1：建立jsp页，使用&lt;ww:head...&gt;设置主题为ajax，该设置能将必要的dojo的代码放在页面中。<br /><span class="code-tag">&lt;html&gt;<br /></span><span class="code-tag">&lt;head&gt;<br /></span><span class="code-tag">&lt;title&gt;</span>Validation - Basic<span class="code-tag">&lt;/title&gt;<br /></span><span class="code-tag">&lt;ww:head theme=<span class="code-quote">"ajax"</span>/&gt;<br /></span><span class="code-tag">&lt;/head&gt;<br /></span><span class="code-tag">&lt;body&gt;</span>
&lt;!-- 注意设置validate和theme --&gt;
<span class="code-tag">&lt;ww:form method=<span class="code-quote">"post"</span> validate=<span class="code-quote">"true"</span> theme=<span class="code-quote">"ajax"</span>&gt;<br /></span><span class="code-tag">&lt;ww:textfield label=<span class="code-quote">"Name"</span> name=<span class="code-quote">"name"</span>/&gt;<br /></span><span class="code-tag">&lt;ww:textfield label=<span class="code-quote">"Age"</span> name=<span class="code-quote">"age"</span>/&gt;</span><span class="code-tag"><br />&lt;ww:textfield label=<span class="code-quote">"Favorite color"</span> name=<span class="code-quote">"answer"</span>/&gt;<br /></span><span class="code-tag">&lt;ww:submit/&gt;</span><span class="code-tag">&lt;/ww:form&gt;</span><span class="code-tag">&lt;/body&gt;</span><span class="code-tag">&lt;/html&gt;<br /></span><br />2:建立Action类：<br /><pre class="code-java"><span class="code-keyword">public</span> class QuizAction <span class="code-keyword">extends</span> ActionSupport {
    <span class="code-object">String</span> name;
    <span class="code-object">int</span> age;
    <span class="code-object">String</span> answer;

    <span class="code-keyword">public</span><span class="code-object">String</span> getName() {
        <span class="code-keyword">return</span> name;
    }

    <span class="code-keyword">public</span> void setName(<span class="code-object">String</span> name) {
        <span class="code-keyword">this</span>.name = name;
    }

    <span class="code-keyword">public</span><span class="code-object">int</span> getAge() {
        <span class="code-keyword">return</span> age;
    }

    <span class="code-keyword">public</span> void setAge(<span class="code-object">int</span> age) {
        <span class="code-keyword">this</span>.age = age;
    }

    <span class="code-keyword">public</span><span class="code-object">String</span> getAnswer() {
        <span class="code-keyword">return</span> answer;
    }

    <span class="code-keyword">public</span> void setAnswer(<span class="code-object">String</span> answer) {
        <span class="code-keyword">this</span>.answer = answer;
    }
}</pre><br />3：建立Validation.xml文件：<br /><pre class="code-xml">&lt;!--
    Add the following DOCTYPE declaration as first line of your XXX-validation.xml file:
    <span class="code-tag">&lt;!DOCTYPE validators PUBLIC <span class="code-quote">"-//OpenSymphony Group//XWork Validator 1.0.2//EN"<br /></span><span class="code-quote">"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"</span>&gt;</span>
--&gt;
<span class="code-tag">&lt;validators&gt;<br /></span><span class="code-tag">&lt;field name=<span class="code-quote">"name"</span>&gt;<br /></span><span class="code-tag">&lt;field-validator type=<span class="code-quote">"requiredstring"</span>&gt;<br /></span><span class="code-tag">&lt;message&gt;</span>You must enter a name<span class="code-tag">&lt;/message&gt;<br /></span><span class="code-tag">&lt;/field-validator&gt;</span><span class="code-tag">&lt;/field&gt;</span><span class="code-tag">&lt;field name=<span class="code-quote">"age"</span>&gt;<br /></span><span class="code-tag">&lt;field-validator type=<span class="code-quote">"int"</span>&gt;<br /></span><span class="code-tag">&lt;param name=<span class="code-quote">"min"</span>&gt;</span>13<span class="code-tag">&lt;/param&gt;<br /></span><span class="code-tag">&lt;param name=<span class="code-quote">"max"</span>&gt;</span>19<span class="code-tag">&lt;/param&gt;<br /></span><span class="code-tag">&lt;message&gt;</span>Only people ages 13 to 19 may take this quiz<span class="code-tag">&lt;/message&gt;</span><span class="code-tag"><br />&lt;/field-validator&gt;<br /></span><span class="code-tag">&lt;/field&gt;<br /></span><span class="code-tag">&lt;/validators&gt;</span></pre><br /><br /><br /></span></span></pre><img src ="http://www.blogjava.net/bjwulin/aggbug/76586.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/bjwulin/" target="_blank">不做浮躁的人</a> 2006-10-21 23:43 <a href="http://www.blogjava.net/bjwulin/archive/2006/10/21/76586.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>