﻿<?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-溜金岁月, 成长点滴-文章分类-spring</title><link>http://www.blogjava.net/javabloger/category/7395.html</link><description>no description</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:19:04 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:19:04 GMT</pubDate><ttl>60</ttl><item><title>在spring mvc中配置common validator</title><link>http://www.blogjava.net/javabloger/articles/41644.html</link><dc:creator>liunix</dc:creator><author>liunix</author><pubDate>Tue, 18 Apr 2006 06:25:00 GMT</pubDate><guid>http://www.blogjava.net/javabloger/articles/41644.html</guid><wfw:comment>http://www.blogjava.net/javabloger/comments/41644.html</wfw:comment><comments>http://www.blogjava.net/javabloger/articles/41644.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javabloger/comments/commentRss/41644.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javabloger/services/trackbacks/41644.html</trackback:ping><description><![CDATA[struts中的common validator在spring mvc 中也是可用的，配置步骤如下<br /><br />1，下载spring-moudle 0.2<br /><br />2， 在spring中作如下配置<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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="validatorFactory"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="org.springmodules.commons.validator.DefaultValidatorFactory"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="validationConfigLocations"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/WEB-INF/validator-rules.xml</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/WEB-INF/validation.xml</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="beanValidator"</span><span style="COLOR: #ff0000"> class</span><span style="COLOR: #0000ff">="org.springmodules.commons.validator.DefaultBeanValidator"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="validatorFactory"</span><span style="COLOR: #ff0000"> ref</span><span style="COLOR: #0000ff">="validatorFactory"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">bean </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="messageSource"</span><span style="COLOR: #ff0000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        class</span><span style="COLOR: #0000ff">="org.springframework.context.support.ResourceBundleMessageSource"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="basenames"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">resources.application</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">resources.validator</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">value</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">list</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">property</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">    </span></div><br />所用的validator-rules.xml和struts有所有不同(可以从spring live中下载)，看得出来只是一些类的名称变了<br /><br />3，在formController中配置<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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">property </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="validator"</span><span style="COLOR: #ff0000"> ref</span><span style="COLOR: #0000ff">="beanValidator"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div><br />4，客户端js的使用<br /><br />其中validator.jsp为了客户端缓存js而做的jsp(来处spring live)<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 src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">%@ taglib </span><span style="COLOR: #ff0000">prefix</span><span style="COLOR: #0000ff">="validate"</span><span style="COLOR: #ff0000"> uri</span><span style="COLOR: #0000ff">="/WEB-INF/tld/spring-commons-validator.tld"</span><span style="COLOR: #ff0000">%</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">validate:javascript </span><span style="COLOR: #ff0000">staticJavascript</span><span style="COLOR: #0000ff">="false"</span><span style="COLOR: #ff0000"> formName</span><span style="COLOR: #0000ff">="adminEditInfoForm"</span><span style="COLOR: #ff0000"> xhtml</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000"> cdata</span><span style="COLOR: #0000ff">="false"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="js/validator.jsp"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;<br />   &lt;form action="adminEditInfo.do" method="post" onsubmit="return validateAdminEditInfoForm(this)"&gt;</span></div><br />btw:<br />   1, 不要覆盖SimpleFormController的processFormSubmission,否则不会进行验证错误返回,覆盖onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors)!<br />   2,  form的名字一定要和类名首字母小写一致<br />    3, <span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">src</span><span style="COLOR: #0000ff">="js/validator.jsp"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;如果产生问题，干脆的办法是将生成的javascript静态脚本做成一个js文件引入</span><img src ="http://www.blogjava.net/javabloger/aggbug/41644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javabloger/" target="_blank">liunix</a> 2006-04-18 14:25 <a href="http://www.blogjava.net/javabloger/articles/41644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring与propertyEditor之一</title><link>http://www.blogjava.net/javabloger/articles/30575.html</link><dc:creator>liunix</dc:creator><author>liunix</author><pubDate>Tue, 14 Feb 2006 05:04:00 GMT</pubDate><guid>http://www.blogjava.net/javabloger/articles/30575.html</guid><wfw:comment>http://www.blogjava.net/javabloger/comments/30575.html</wfw:comment><comments>http://www.blogjava.net/javabloger/articles/30575.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/javabloger/comments/commentRss/30575.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/javabloger/services/trackbacks/30575.html</trackback:ping><description><![CDATA[<SPAN class=postdetails><FONT size=2>没什么JAVA BEAN基础，看了看spring的beanwrapper <BR>大概了解了propertyEditor的工作方式，主要关注convert string to object <BR>记下来，省得用到时再乱找 <BR><BR>步聚： <BR><BR>1，写出你要转换的bean及对应的propertyEditor(如：Person=&gt;PersonEditor) <BR>2，用PropertyEditorManager注册: </FONT></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B><FONT size=2>java代码:&nbsp;</FONT></B></SPAN></TD></TR>
<TR>
<TD class=code>
<DIV style="FONT-FAMILY: 'Courier New', Courier, monospace"><SPAN style="COLOR: #aaaadd" ?>PropertyEditorManager</SPAN>.<SPAN style="COLOR: #000000">registerEditor</SPAN><SPAN style="COLOR: #000000">(</SPAN>Person.<SPAN style="COLOR: #000000">class</SPAN>,PersonEditor.<SPAN style="COLOR: #000000">class</SPAN><SPAN style="COLOR: #000000">)</SPAN></DIV></TD></TR></TBODY></TABLE><SPAN class=postbody><BR><FONT size=2>3，你得到一个要转换的string，查出想转换成的bean对映的propertyEditor <BR>如: <BR></FONT></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B><FONT size=2>java代码:&nbsp;</FONT></B></SPAN></TD></TR>
<TR>
<TD class=code>
<DIV style="FONT-FAMILY: 'Courier New', Courier, monospace"><SPAN style="COLOR: #aaaadd" ?>PropertyEditorManager</SPAN>.<SPAN style="COLOR: #000000">findEditor</SPAN><SPAN style="COLOR: #000000">(</SPAN>Person.<SPAN style="COLOR: #000000">class</SPAN><SPAN style="COLOR: #000000">)</SPAN> </DIV></TD></TR></TBODY></TABLE><SPAN class=postbody><BR><FONT size=2>4，你知道啦，调用你找到的editor的setAsText(String) <BR>如： <BR></FONT></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B><FONT size=2>java代码:&nbsp;</FONT></B></SPAN></TD></TR>
<TR>
<TD class=code>
<DIV style="FONT-FAMILY: 'Courier New', Courier, monospace">editor.<SPAN style="COLOR: #000000">setAsText</SPAN><SPAN style="COLOR: #000000">(</SPAN>"<SPAN style="COLOR: #000000" ?>23</SPAN>,liunix"<SPAN style="COLOR: #000000">)</SPAN>; </DIV></TD></TR></TBODY></TABLE><SPAN class=postbody><BR><FONT size=2>5，在你属性宿主bean上调用setter <BR>如： <BR></FONT></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B><FONT size=2>java代码:&nbsp;</FONT></B></SPAN></TD></TR>
<TR>
<TD class=code>
<DIV style="FONT-FAMILY: 'Courier New', Courier, monospace">personManager.<SPAN style="COLOR: #000000">setPerson</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">(</SPAN>Person<SPAN style="COLOR: #000000">)</SPAN>editor.<SPAN style="COLOR: #000000">getValue</SPAN><SPAN style="COLOR: #000000">(</SPAN><SPAN style="COLOR: #000000">)</SPAN><SPAN style="COLOR: #000000">)</SPAN> </DIV></TD></TR></TBODY></TABLE><SPAN class=postbody><FONT size=2>ok! <BR><BR>另外,可以省去PropertyEditorManager.registerEditor注册方法有 <BR>1, <BR>你要转换的bean及对应的propertyEditor在同一个包内，而且名字形如:Person=&gt;Person+Editor来定义两个类的名字， <BR>2，名称对应，不在一个包内 <BR>调用PropertyEditorManager.setEditorSearchPath(String[]) <BR>其中string[]指定你editor的包名即可</FONT></SPAN> <img src ="http://www.blogjava.net/javabloger/aggbug/30575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/javabloger/" target="_blank">liunix</a> 2006-02-14 13:04 <a href="http://www.blogjava.net/javabloger/articles/30575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>