??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美与亚洲与日本直播,亚洲一区二区三区中文字幕,伊甸园精品99久久久久久http://www.aygfsteel.com/run2u/archive/2007/10/29/156710.htmlI杯I杯Mon, 29 Oct 2007 08:07:00 GMThttp://www.aygfsteel.com/run2u/archive/2007/10/29/156710.htmlhttp://www.aygfsteel.com/run2u/comments/156710.htmlhttp://www.aygfsteel.com/run2u/archive/2007/10/29/156710.html#Feedback1http://www.aygfsteel.com/run2u/comments/commentRss/156710.htmlhttp://www.aygfsteel.com/run2u/services/trackbacks/156710.html阅读全文

I杯 2007-10-29 16:07 发表评论
]]>
Hibernate的检索方?/title><link>http://www.aygfsteel.com/run2u/archive/2007/10/29/156708.html</link><dc:creator>I杯</dc:creator><author>I杯</author><pubDate>Mon, 29 Oct 2007 08:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/run2u/archive/2007/10/29/156708.html</guid><wfw:comment>http://www.aygfsteel.com/run2u/comments/156708.html</wfw:comment><comments>http://www.aygfsteel.com/run2u/archive/2007/10/29/156708.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/run2u/comments/commentRss/156708.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/run2u/services/trackbacks/156708.html</trackback:ping><description><![CDATA[<span id="diary_group_textDIV" style="line-height: 150%">  <p>Hibernate的检索方式Hibernate的检索方?<br />  1.D对象图检索方?br />     Ҏ已经加蝲的对?D到其他对?<br />  2.OID索方?br />     按照对象的OID来检索对?br />  3.HQL索方?br />     使用面向对象的HQL查询语言.<br />  4.QBC索方?br />     使用QBC API来检索对?q种API装了基于字W串形式的查询语?提供了更加面向对象的接口.<br />     它主要由Criteria接口,Criterion接口和Expressioncȝ?它支持在q行时动态生成的查询语句:<br />     以下E序代码用于索姓名以字符"T"开?q且q龄?1的Customer对象:<br />       ///调用Session的createCriteria()Ҏ创徏一个Criteria对象<br />       Creteria criteria=session.createCriteria(Customer.class);<br />       //讄查询条g,ExpressioncL供了一pd用于讑֮查询条g的静态方?q些静态方法都<br />        q回Criterion实例,每个Criterion实例代表一个查询条?br />       Criterion criterion1=Expression.like("name","T%");<br />       Criterion criterion2=Expression.eq("age",new Integer(21));<br />       ////Criteria的add()Ҏ用于加入查询条g.<br />       criteria=criteria.add(criterion1);<br />       criteria=criteria.add(criterion2);<br />       /////调用Criteria的list()Ҏ执行查询语句,该方法返回Listcd的查询结?在List集合中存?br />         了符合查询条件的持久化对?br />       List result=criteria.list();<br />       对于以上代码执行的SQL语句?select * from CUSTOMERS where NAME like"T%" and AGE=21;<br />       Criteria接口支持Ҏ铄E风?它的add()Ҏq回自n实例,而不是返回voidcd<br />  5.本地SQL索方?<br />  6.QBE索方?<br />    它是QBC的子功能,QBE允许先创Z个对象样?然后索出所有和q个h相同的对?如下:<br />     //创徏一个CUstomerh对象<br />       Customer exampleCustomer=new Customer();<br />       exampleCustoemr.setAge(21);<br />       List result=session.createCriteria(Custoemr.class).add(Example.create(exampleCustomer)).list();<br />     因ؓQBE只支?="?like"比较q算W?所以一般采用HQL索方式或者QBC索方?</p> <p>分页查询:<br />   Query和Criteria接口都提供了用于分页昄查询l果的方?<br />    setFirstResult(int firstResult):讑֮从哪一个对象开始检?参数firstResult表示q个对象在查询结果中的烦引位|?索引位置的v始gؓ0,<br />    在默认情况下,Query和Criteria接口从查询结果中的第一个对?也就是烦引位|ؓ0的对象开始检?<br />   setMaxResult(int maxResults):讑֮一ơ最多检索出的对象数?在默认情况下,Query和Criteria接口索出查询接口中所有的对象</p> <p>查单个对?<br />  Query和Criteria接口都提供了以下用于执行查询语句q返回查询结果的Ҏ:<br /> list()Ҏ:q回一个Listcd的查询结?在List集合中存放了所有满x询条件的持久化对?br />  uniqueResult()Ҏ:q回单个对象.<br />  在某些情况下,如果只希望检索出一个对?可以先调用Query或Criteria接口的setMaxResult(1)Ҏ,把最大检索数目设?,然后调用uniqueResult()Ҏ,<br />  该方法返回一个Objectcd的对?<br />  // 采用HQL索方?br />  Customer customer=(Customer)session.createQuery("from Customer c order by c.name asc").setMaxResults(1).uniqueResult();<br />  //采用QBC索方?br />  Customer customer=(Customer)session.createCriteria(Customer.class).add(Order.asc("name")).setMaxResults(1).uniqueResult();<br /> </p> </span> <img src ="http://www.aygfsteel.com/run2u/aggbug/156708.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/run2u/" target="_blank">I杯</a> 2007-10-29 16:04 <a href="http://www.aygfsteel.com/run2u/archive/2007/10/29/156708.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MiddlegenIDE的?/title><link>http://www.aygfsteel.com/run2u/archive/2007/10/29/156707.html</link><dc:creator>I杯</dc:creator><author>I杯</author><pubDate>Mon, 29 Oct 2007 08:03:00 GMT</pubDate><guid>http://www.aygfsteel.com/run2u/archive/2007/10/29/156707.html</guid><wfw:comment>http://www.aygfsteel.com/run2u/comments/156707.html</wfw:comment><comments>http://www.aygfsteel.com/run2u/archive/2007/10/29/156707.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/run2u/comments/commentRss/156707.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/run2u/services/trackbacks/156707.html</trackback:ping><description><![CDATA[<div id="wmqeeuq" class="postText"><span id="wmqeeuq" class="javascript" id="text161171">最q有朋友发信Q说MiddlegenIDE的主出了点状况Q登陆上LC的内容莫名其妙Q给新手使用MiddlegenIDE带来了困难。本座去看了一下,果然是莫名其妙得厉害。下面ȝ一个MiddlegenIDE的用教E吧?<br /> <br /> MiddleGen for Hibernate加上Hibernate_Extension工具包,其实是用来方便我们从先有的数据库导l构Q生成对应的hbm、cfg文g与POJOcM码。MiddleGenIDE则是MiddleGen的Eclipse插g。整套东西已l有很久没有更新q了。所以虽然本座现在用的eclipse版本3.1.x也能与这个插件正帔R合,但是它没有提供在Uupdate的功能。需要你先下?a class="ilink" target="_blank">middlegenide</a>Q安装插件之后重启Eclipse。如果新开启的eclipse没有变化Q估计你得用"- clean"参数再重启一下,或者去删除configuration文g夹下面对应的文g?<br /> <br /> OKQ下面讲讲怎么ȝ。首先当然要<a class="ilink" href="http:///" target="_blank" com="" lenciel.yculblog.>搭徏一个环?/a>Q我现在把MySQL更新C5.0QHibernate和当时一h2.1Q,然后我们Z个表Q装一Ҏ据。MySQL下面的脚本如下: <br /> <table class="java" cellspacing="1" cellpadding="3" bgcolor="#999999" border="0"> <tbody> <tr> <td valign="top" align="left" width="1" bgcolor="#dddddd"> <pre><font color="#555555">1<br /> 2<br /> 3<br /> 4<br /> 5<br /> 6<br /> </font></pre> </td> <td valign="top" align="left" bgcolor="#ffffff"> <pre>DROP TABLE IF EXISTS `test`.`t_user`;</pre> <pre> CREATE TABLE `test`.`t_user` (</pre> <pre> `id` <font class="java-reserved_word"><strong>int</strong></font>(11) NOT NULL auto_increment,</pre> <pre> `name` varchar(255) <font class="java-reserved_word"><strong>default</strong></font> NULL,</pre> <pre> PRIMARY KEY (`id`)</pre> <pre> ) ENGINE=InnoDB DEFAULT CHARSET=gbk;</pre> </td> </tr> </tbody> </table> <br /> <br /> 有了表之后,建立一个Java工程。然后在Src文g夹上面右键,选择“New-Other” <br /> <br /> <img alt="" src="http://foto.yculblog.com/photo/l/lenciel/Snap2.jpg" border="0" /> <br /> <br /> 然后会弹出Middelgen Biuld File的选项。因为MiddleGen是一个用Ant~译文g来调出IDE的包Q所以这个插件实际上是方便我们用完型填I的方式来编写这个Biuld File而已?<br /> <br /> <img alt="" src="http://foto.yculblog.com/photo/l/lenciel/Snap3.jpg" border="0" /> <br /> <br /> 点击后出C面的界面Q对应的内容一目了Ӟ按照自己的需要填写即可?<br /> <br /> <img alt="" src="http://foto.yculblog.com/photo/l/lenciel/Snap4.jpg" border="0" /> <br /> <br /> 下面q张图是填好后的样子。和本一h有用Hibernate 3的朋友,注意在画了红圈的Option选项中把hibernate的版本调低。不然生产的配置文gQ会有一个非常诡异的"xml parser无法解析dtd"的错误?<br /> <br /> <img alt="" src="http://foto.yculblog.com/photo/l/lenciel/Snap6.jpg" border="0" /> <br /> <br /> 填好所有的东西q击Nextq入MiddleGen界面Q几乎不用改M东西直接点击Generatep得到配置文g和POJOcM?<br /> <br /> <img alt="" src="http://foto.yculblog.com/photo/l/lenciel/Snap8.jpg" border="0" /> <br /> <br /> 另外Q如果你需要在MiddleGen中生成的POJO直接带Xdoclet的标记的话,需要在扑ֈ它自带的模板文gQ?<br /> <table class="java" cellspacing="1" cellpadding="3" bgcolor="#999999" border="0"> <tbody> <tr> <td valign="top" align="left" width="1" bgcolor="#dddddd"> <pre><font color="#555555">1<br /> </font></pre> </td> <td valign="top" align="left" bgcolor="#ffffff"> <pre>eclipse\plugins\org.ultimania.middlegenide_1.3.2\resource\template\build-hibernate.xml.vm</pre> </td> </tr> </tbody> </table> <br /> <br /> 然后把下面这行生成xdoclet tag的值改成true: <br /> <table class="java" cellspacing="1" cellpadding="3" bgcolor="#999999" border="0"> <tbody> <tr> <td valign="top" align="left" width="1" bgcolor="#dddddd"> <pre><font color="#555555">1<br /> </font></pre> </td> <td valign="top" align="left" bgcolor="#ffffff"> <pre><property name=<font class="java-string">"gen.xdoclet-tag"</font> value=<font class="java-string">"true"</font>></pre> </td> </tr> </tbody> </table> <br /> </span></div> <img src ="http://www.aygfsteel.com/run2u/aggbug/156707.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/run2u/" target="_blank">I杯</a> 2007-10-29 16:03 <a href="http://www.aygfsteel.com/run2u/archive/2007/10/29/156707.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Open Session in Test 及自动Rollbackhttp://www.aygfsteel.com/run2u/archive/2007/10/29/156704.htmlI杯I杯Mon, 29 Oct 2007 08:00:00 GMThttp://www.aygfsteel.com/run2u/archive/2007/10/29/156704.htmlhttp://www.aygfsteel.com/run2u/comments/156704.htmlhttp://www.aygfsteel.com/run2u/archive/2007/10/29/156704.html#Feedback0http://www.aygfsteel.com/run2u/comments/commentRss/156704.htmlhttp://www.aygfsteel.com/run2u/services/trackbacks/156704.htmlfrom: http://www.aygfsteel.com/rain1102/articles/117541.html

又是来自Springq个奇国度的东西, 你可以让testCasel承于AbstractTransactionalDataSourceSpringContextTestsQ就可以做到Open Session in Test Q解决Hibernate的lazy-load问题Q而且接管原来的DAO里的事务控制定义Q通过setDefaultRollback(boolean)Ҏ控制最后回滚还是提交,如果默认为回滚,则测试生数据变动不会媄响数据库内数据?br />  
如果不能l承于这个基c,可以自己单编写,代码是这LQ?br />    protected PlatformTransactionManager transactionManager;
   protected TransactionStatus transactionStatus;
   protected boolean defaultRollback = true;
   public void setUp()
   {
        transactionManager = (PlatformTransactionManager) ctx.getBean("transactionManager");
        transactionStatus = transactionManager.getTransaction(new DefaultTransactionDefinition());
   }
   public void tearDown()
   {
        if (defaultRollback)
            transactionManager.rollback(this.transactionStatus);
        else
           transactionManager.commit(this.transactionStatus);
    }
(注,hibernate太奸诈了Q如果全部默认回滚,只会在session里干z,一点不写数据库Q达不到完全的测试效果?

I杯 2007-10-29 16:00 发表评论
]]>
ServletConfig与ServletContext的区?/title><link>http://www.aygfsteel.com/run2u/archive/2007/10/29/156702.html</link><dc:creator>I杯</dc:creator><author>I杯</author><pubDate>Mon, 29 Oct 2007 07:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/run2u/archive/2007/10/29/156702.html</guid><wfw:comment>http://www.aygfsteel.com/run2u/comments/156702.html</wfw:comment><comments>http://www.aygfsteel.com/run2u/archive/2007/10/29/156702.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/run2u/comments/commentRss/156702.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/run2u/services/trackbacks/156702.html</trackback:ping><description><![CDATA[from: http://www.aygfsteel.com/software5168/archive/2006/09/05/67752.html<br /> <br /> HttpServletRequest,HttpServletResponse:q两个属性的作用范围最?br />     旉上:只是本nh和应{完成就失效Q当然{发是把当前的request对象取出来传l另一<br />           个资源,其实本n的request对象q是只生存到本次hl束Qresponse也同栗?br />     I间上:只能发送请求的客户端有效?br /> <br />     HttpSession:一ơ连l到客户端关闭,旉作用范围比上面两个大Q空间Q用范围相同?br /> <br />     ServletConfig:从一个servlet被实例化后,对Q何客L在Q何时候访问有效,但仅Ҏservlet<br />     有效Q一个servlet的ServletConfig对象不能被另一个servlet讉K?br /> <br />     ServletContext:对Q何servletQQ何h在Q何时间都有效Q这才是真正全局的对象?br /> <br />     那么QServletConfig参数和ServletContext参数到底应该如何使用Q如何取得?<br /> <br />     一般来_Ҏ个应用的配置Qؓ了不使用“编?#8221;Q应该配|ؓServletContext参数Q比如字<br />     W集讑֮?br />     <web-app><br />         .................<br />         <init-param><br />             <param-name>charset</param-name> <br />             <param-value>GB2312</param-value> <br />         </init-param><br />         .................<br />     </web-app><br />     注意以上格式只是2?以后的标准格式,旧容器(引擎Q采用服务商自己的格式配|。注意它?br />     父元素应该是<web-app>也就是说它是对一个应用作用的?br /> <br />     而如果只有一个特定的servlet要设定的参数Q其它servlet不能׃nQ应该配|ؓServletConfig<br />     参数Q如一个读取附件的servlet要用到绝对目录,而别的servlet不会用到Q?br />     <servlet><br />             <servlet-name>GetAtt</servlet-name><br />         <servlet-class>mail.GetAttServlet</servlet-class><br />         <init-param><br />             <param-name>absPath</param-name> <br />             <param-value>/usr/mail/ax/axman/Maildir/</param-value> <br />         </init-param><br />     </servlet><br />     不用_因ؓ?lt;servlet>标签中已l指定了name和class,也就是说只有mail.GetAttServletq个<br />     servlet中才能取到path,而别的Servlet是不能取到的?br /> <br />     那么如何讉Kq两个对象的参数呢?<br />     讉KServletConfig参数Q?br />         首先要取得ServletConfig对象Q然后调用它的getInitParameter();Ҏ。要讉K<br />     ServletConfig对象Qjsp中直接用config内置对象Q但因ؓ你的JSP~译后的servlet一般不会被<br />     加到web.xml中的Q所以一般不会通过jsp来取ҎJSP~译后的servlet的配|参敎ͼ那么在servlet<br />     中要得到ServletConfig对象有两U方法:<br /> <br />     在inii()Ҏ中取刎ͼ通过init的重载方法传?br /> <br />     .....<br />     public class Test extends HttpServlet <br />     {<br />         ServletConfig config;<br />         public void init(ServletConfig config) throws ServletException {<br />             this.config = config;<br />         }<br />         ..................<br />     }<br />     然后在下面的Ҏ中就可以讉Kconfig对象。但要注意,Z保能从构造方法中到到当前servlet?br />     config对象Q应该调用父cȝ构造方法:<br />     .....<br />     public class Test extends HttpServlet <br />     {<br />         ServletConfig config;<br />         public void init(ServletConfig config) throws ServletException {<br />             super.init(config);<br />             this.config = config;<br />         }<br />         ..................<br />     }<br /> <br />     通过getServletConfig()Ҏ直接到时Q这样做的好处是不必调手工传递属性,惛_M时候都?br />     以得到?br /> <br />     q有W三U方法,要自己实C些接口,q里作ؓ一般讨论就不介l了?br /> <br />     要访问ServletContext对象Q只要从现有的ServletConfig对象getServletContextQ)可以了Q然?br />     调用它的getInitParameter()Ҏ可以获取它的参数?br /> <br />     按说QServletContext对象的作用域比ServletConfig作用域大Qؓ什么要从ServletConfig中到?br />     ServletContext对象呢?我个为:容器保存了很多个ServletContext对象Q请求时容器到底取哪一?br />     l你呢?那就取其中包含ServletConfig信息的那个给你,是说取ServletConfig对象的父U对象。就?br />     象HttpSession要从requset中取得一P是取那个包含当前requese对象的session对象l你Q这只是?br />     的个人想法,q没有来得及看具体实现。反正就q么用吧? <img src ="http://www.aygfsteel.com/run2u/aggbug/156702.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/run2u/" target="_blank">I杯</a> 2007-10-29 15:59 <a href="http://www.aygfsteel.com/run2u/archive/2007/10/29/156702.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> Struts 1.2 ?HTML 标签嵌套属?如user.name)如何加入 JavaScript 表单验证http://www.aygfsteel.com/run2u/archive/2007/10/29/156700.htmlI杯I杯Mon, 29 Oct 2007 07:57:00 GMThttp://www.aygfsteel.com/run2u/archive/2007/10/29/156700.htmlhttp://www.aygfsteel.com/run2u/comments/156700.htmlhttp://www.aygfsteel.com/run2u/archive/2007/10/29/156700.html#Feedback1http://www.aygfsteel.com/run2u/comments/commentRss/156700.htmlhttp://www.aygfsteel.com/run2u/services/trackbacks/156700.html 

Struts 里面? 之类的表单域标签, 都有一个属性叫: property, q个属性根据文档是可以嵌套? 例如下面?formBean 嵌套了一个属?User:

public class User {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}

 

public class UserForm extends FormBean {
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}

 

那么对应?JSP 面里的  Tag 可以写成:

<html:text property="user.username" />

但是如果q时候有想给生成的表单加?JavaScript 验证的话, 必须用下面的写法才能通过:

q是因ؓ Struts 标签最后生的 HTML 如下所C?

 

<form onsubmit="return validateForm(this);">
<input name="user.username" />
form>

 

直接引用 元素.user.username 肯定会出错的. 正确的方法参考上上面的代码段卛_.



I杯 2007-10-29 15:57 发表评论
]]>
FormBean ?POJO 的集?/title><link>http://www.aygfsteel.com/run2u/archive/2007/10/29/156699.html</link><dc:creator>I杯</dc:creator><author>I杯</author><pubDate>Mon, 29 Oct 2007 07:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/run2u/archive/2007/10/29/156699.html</guid><wfw:comment>http://www.aygfsteel.com/run2u/comments/156699.html</wfw:comment><comments>http://www.aygfsteel.com/run2u/archive/2007/10/29/156699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/run2u/comments/commentRss/156699.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/run2u/services/trackbacks/156699.html</trackback:ping><description><![CDATA[<span id="diary_group_textDIV" style="line-height: 150%">  <div id="wmqeeuq" 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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff"><</span><span style="color: #800000">form-bean </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="loginForm"</span><span style="color: #ff0000"> type</span><span style="color: #0000ff">="org.apache.struts.validator.DynaValidatorForm"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">form-property </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="user"</span><span style="color: #ff0000"> type</span><span style="color: #0000ff">="org.layout.model.User"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"></</span><span style="color: #800000">form-bean</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff"><</span><span style="color: #800000">form </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="loginForm"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">field </span><span style="color: #ff0000">property</span><span style="color: #0000ff">="user.name"</span><span style="color: #ff0000"> depends</span><span style="color: #0000ff">="required,minlength,maxlength"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">arg0 </span><span style="color: #ff0000">key</span><span style="color: #0000ff">="label.username"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">arg1 </span><span style="color: #ff0000">key</span><span style="color: #0000ff">="${var:minlength}"</span><span style="color: #ff0000"> name</span><span style="color: #0000ff">="minlength"</span><span style="color: #ff0000"> resource</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">arg2 </span><span style="color: #ff0000">key</span><span style="color: #0000ff">="${var:maxlength}"</span><span style="color: #ff0000"> name</span><span style="color: #0000ff">="maxlength"</span><span style="color: #ff0000"> resource</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var-name</span><span style="color: #0000ff">></span><span style="color: #000000">maxlength</span><span style="color: #0000ff"></</span><span style="color: #800000">var-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var-value</span><span style="color: #0000ff">></span><span style="color: #000000">16</span><span style="color: #0000ff"></</span><span style="color: #800000">var-value</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"></</span><span style="color: #800000">var</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var-name</span><span style="color: #0000ff">></span><span style="color: #000000">minlength</span><span style="color: #0000ff"></</span><span style="color: #800000">var-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var-value</span><span style="color: #0000ff">></span><span style="color: #000000">2</span><span style="color: #0000ff"></</span><span style="color: #800000">var-value</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"></</span><span style="color: #800000">var</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"></</span><span style="color: #800000">field</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">field </span><span style="color: #ff0000">property</span><span style="color: #0000ff">="user.password"</span><span style="color: #ff0000"> <br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />depends</span><span style="color: #0000ff">="required,minlength,maxlength"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">arg0 </span><span style="color: #ff0000">key</span><span style="color: #0000ff">="label.password"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">arg1 </span><span style="color: #ff0000">key</span><span style="color: #0000ff">="${var:minlength}"</span><span style="color: #ff0000"> name</span><span style="color: #0000ff">="minlength"</span><span style="color: #ff0000"> resource</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">arg2 </span><span style="color: #ff0000">key</span><span style="color: #0000ff">="${var:maxlength}"</span><span style="color: #ff0000"> name</span><span style="color: #0000ff">="maxlength"</span><span style="color: #ff0000"> resource</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var-name</span><span style="color: #0000ff">></span><span style="color: #000000">maxlength</span><span style="color: #0000ff"></</span><span style="color: #800000">var-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var-value</span><span style="color: #0000ff">></span><span style="color: #000000">16</span><span style="color: #0000ff"></</span><span style="color: #800000">var-value</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"></</span><span style="color: #800000">var</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var-name</span><span style="color: #0000ff">></span><span style="color: #000000">minlength</span><span style="color: #0000ff"></</span><span style="color: #800000">var-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">var-value</span><span style="color: #0000ff">></span><span style="color: #000000">2</span><span style="color: #0000ff"></</span><span style="color: #800000">var-value</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"></</span><span style="color: #800000">var</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"></</span><span style="color: #800000">field</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"></</span><span style="color: #800000">form</span><span style="color: #0000ff">></span></div> </div> <div id="wmqeeuq" 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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">        DynaActionForm aForm </span><span style="color: #000000">=</span><span style="color: #000000"> (DynaActionForm)form;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        ActionMessages messages </span><span style="color: #000000">=</span><span style="color: #000000"> form.validate(mapping, request);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </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.aygfsteel.com/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.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" />        </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.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_160_265_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            saveMessages(request, messages);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="color: #0000ff">return</span><span style="color: #000000"> 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.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />        }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        User user </span><span style="color: #000000">=</span><span style="color: #000000"> (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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        UserDAO userDAO </span><span style="color: #000000">=</span><span style="color: #000000"> (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.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        user </span><span style="color: #000000">=</span><span style="color: #000000"> userDAO.get(user.getName(), user.getPassword());<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span></div> </div> <div id="wmqeeuq" class="code_div"> <pre>其实q样子的集成感觉很不错的Q除了少了dto和{换(臛_你要用一个copyProperty吧)Qpojo实现了序列化Q?/pre> <pre>甚至可以直接深入到Hibernate底层Q这样子q~Z以前一直讨论formbean和po是不是合q或者在哪个层面上进</pre> <pre>行{换?/span></pre> </div> <img src ="http://www.aygfsteel.com/run2u/aggbug/156699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/run2u/" target="_blank">I杯</a> 2007-10-29 15:54 <a href="http://www.aygfsteel.com/run2u/archive/2007/10/29/156699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ƾ</a>| <a href="http://" target="_blank">IJ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϻӿ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ء</a>| <a href="http://" target="_blank">ľ˹</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ȫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ĺ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ҿ</a>| <a href="http://" target="_blank">կ</a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̳</a>| <a href="http://" target="_blank">ʼ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ڽ</a>| <a href="http://" target="_blank">˼é</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>