﻿<?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-歧途-随笔分类-Struts</title><link>http://www.blogjava.net/run2u/category/26923.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 29 Oct 2007 13:30:52 GMT</lastBuildDate><pubDate>Mon, 29 Oct 2007 13:30:52 GMT</pubDate><ttl>60</ttl><item><title> Struts 1.2 的 HTML 标签嵌套属性(如user.name)如何加入 JavaScript 表单验证</title><link>http://www.blogjava.net/run2u/archive/2007/10/29/156700.html</link><dc:creator>空杯</dc:creator><author>空杯</author><pubDate>Mon, 29 Oct 2007 07:57:00 GMT</pubDate><guid>http://www.blogjava.net/run2u/archive/2007/10/29/156700.html</guid><wfw:comment>http://www.blogjava.net/run2u/comments/156700.html</wfw:comment><comments>http://www.blogjava.net/run2u/archive/2007/10/29/156700.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/run2u/comments/commentRss/156700.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/run2u/services/trackbacks/156700.html</trackback:ping><description><![CDATA[<span id="diary_group_textDIV" style="line-height: 150%">&nbsp;
<p>Struts 里面的 <html:text>
之类的表单域标签, 都有一个属性叫: property, 这个属性根据文档是可以嵌套的, 例如下面的 formBean 嵌套了一个属性 User:</p>
<div>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> User {
<span style="color: #0000ff">private</span> String username;
<span style="color: #0000ff">public</span> String getUsername() {
<span style="color: #0000ff">return</span> username;
}
<span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> setUsername(String username) {
<span style="color: #0000ff">this</span>.username = username;
}
}</pre>
</div>
<p>&nbsp;</p>
<div>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> UserForm extends FormBean {
<span style="color: #0000ff">private</span> User user;
<span style="color: #0000ff">public</span> User getUser() {
<span style="color: #0000ff">return</span> user;
}
<span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> setUser(User user) {
<span style="color: #0000ff">this</span>.user = user;
}
}</pre>
</div>
<p>&nbsp;</p>
<p>那么对应的 JSP 页面里的&nbsp; Tag 可以写成:</p>
<div>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">&lt;</span><span style="color: #800000">html:text</span> <span style="color: #ff0000">property</span><span style="color: #0000ff">="user.username"</span> <span style="color: #0000ff">/&gt;</span></pre>
</div>
<p>但是如果这时候有人还想给生成的表单加入 JavaScript 验证的话, 必须用下面的写法才能通过:</p>
<div>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">
<p><script>
<span style="color: #008000">// 表单验证函数</span>
<span style="color: #0000ff">function</span> validateForm(form) {
  <span style="color: #008000">// this.user.username 会报错</span>
  alert( <span style="color: #0000ff">this</span>[<span style="color: #006080">'user.username'</span>] );
  <span style="color: #0000ff">if</span>(<span style="color: #0000ff">this</span>[<span style="color: #006080">'user.username'</span>] .value == <span style="color: #006080">""</span>) {
    alert(<span style="color: #006080">"用户名不能为空!"</span>);
    <span style="color: #0000ff">return</span> <span style="color: #0000ff">false</span>;
  }
  <span style="color: #0000ff">return</span> <span style="color: #0000ff">true</span>;
}<br /></script></p>
</pre>
</div>
<p>这是因为 Struts 标签最后产生的 HTML 如下所示:</p>
<p>&nbsp;</p>
<div>
<pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"><span style="color: #0000ff">&lt;</span><span style="color: #800000">form</span> <span style="color: #ff0000">onsubmit</span><span style="color: #0000ff">="return validateForm(this);"</span><span style="color: #0000ff">&gt;</span>
<span style="color: #0000ff">&lt;</span><span style="color: #800000">input</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">="user.username"</span> <span style="color: #0000ff">/&gt;</span>
<span style="color: #0000ff"></< SPAN><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span></pre>
</div>
<p>&nbsp;</p>
<p>直接引用 元素.user.username 肯定会出错的. 正确的方法参考上上面的代码段即可.</p>
</span>
</html:text>
</span>
<img src ="http://www.blogjava.net/run2u/aggbug/156700.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/run2u/" target="_blank">空杯</a> 2007-10-29 15:57 <a href="http://www.blogjava.net/run2u/archive/2007/10/29/156700.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FormBean 与 POJO 的集成</title><link>http://www.blogjava.net/run2u/archive/2007/10/29/156699.html</link><dc:creator>空杯</dc:creator><author>空杯</author><pubDate>Mon, 29 Oct 2007 07:54:00 GMT</pubDate><guid>http://www.blogjava.net/run2u/archive/2007/10/29/156699.html</guid><wfw:comment>http://www.blogjava.net/run2u/comments/156699.html</wfw:comment><comments>http://www.blogjava.net/run2u/archive/2007/10/29/156699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/run2u/comments/commentRss/156699.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/run2u/services/trackbacks/156699.html</trackback:ping><description><![CDATA[<span id="diary_group_textDIV" style="line-height: 150%">&nbsp;
<div class="code_title">代码<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"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">form-bean&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="loginForm"</span><span style="color: #ff0000">&nbsp;type</span><span style="color: #0000ff">="org.apache.struts.validator.DynaValidatorForm"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">form-property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="user"</span><span style="color: #ff0000">&nbsp;type</span><span style="color: #0000ff">="org.layout.model.User"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">form-bean</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
<br />
在校验文件validation.xml中： <br />
<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"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">form&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="loginForm"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">field&nbsp;</span><span style="color: #ff0000">property</span><span style="color: #0000ff">="user.name"</span><span style="color: #ff0000">&nbsp;depends</span><span style="color: #0000ff">="required,minlength,maxlength"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">arg0&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="label.username"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">arg1&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="${var:minlength}"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="minlength"</span><span style="color: #ff0000">&nbsp;resource</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">arg2&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="${var:maxlength}"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="maxlength"</span><span style="color: #ff0000">&nbsp;resource</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">maxlength</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">16</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">minlength</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">field</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">field&nbsp;</span><span style="color: #ff0000">property</span><span style="color: #0000ff">="user.password"</span><span style="color: #ff0000">&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />depends</span><span style="color: #0000ff">="required,minlength,maxlength"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">arg0&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="label.password"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">arg1&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="${var:minlength}"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="minlength"</span><span style="color: #ff0000">&nbsp;resource</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">arg2&nbsp;</span><span style="color: #ff0000">key</span><span style="color: #0000ff">="${var:maxlength}"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="maxlength"</span><span style="color: #ff0000">&nbsp;resource</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">maxlength</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">16</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">minlength</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">var-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var-value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">var</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">field</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span></div>
</div>
<div class="code_div">在action中如下调用： <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"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DynaActionForm&nbsp;aForm&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(DynaActionForm)form;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActionMessages&nbsp;messages&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;form.validate(mapping,&nbsp;request);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">!</span><span style="color: #000000">messages.isEmpty())<br />
<img id="Codehighlighter1_160_265_Open_Image" onclick="this.style.display='none'; Codehighlighter1_160_265_Open_Text.style.display='none'; Codehighlighter1_160_265_Closed_Image.style.display='inline'; Codehighlighter1_160_265_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_160_265_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_160_265_Closed_Text.style.display='none'; Codehighlighter1_160_265_Open_Image.style.display='inline'; Codehighlighter1_160_265_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_160_265_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_160_265_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;saveMessages(request,&nbsp;messages);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;mapping.findForward(</span><span style="color: #000000">"</span><span style="color: #000000">prompt</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User&nbsp;user&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(User)aForm.get(</span><span style="color: #000000">"</span><span style="color: #000000">user</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UserDAO&nbsp;userDAO&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(UserDAO)getWebApplicationContext().getBean(</span><span style="color: #000000">"</span><span style="color: #000000">userDAO</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;userDAO.get(user.getName(),&nbsp;user.getPassword());<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
</div>
<div class="code_div">
<pre>其实这样子的集成感觉很不错的，除了少了dto和转换（至少你要用一个copyProperty吧），pojo实现了序列化，</pre>
<pre>甚至可以直接深入到Hibernate底层，这样子就省缺了以前一直讨论formbean和po是不是合并或者在哪个层面上进</pre>
<pre>行转换。</span></pre>
</div>
<img src ="http://www.blogjava.net/run2u/aggbug/156699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/run2u/" target="_blank">空杯</a> 2007-10-29 15:54 <a href="http://www.blogjava.net/run2u/archive/2007/10/29/156699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>