代码改变世界

10月29日appfuse培训日记

2006-10-29 21:49  java ee spring  阅读(201)  评论(0编辑  收藏  举报

今天还是梁言兵老师为大家讲解appfuse,下面是我随便记录的一点心得:

javascript可以实现浅度校验,包括"结束日期不能小于起始日期";WEB服务器端程序可以实现深度校验,例如,校验用户名是否重复。
增加与修改用同一个表单,所以,为了实现复用,增加与修改的请求都交给同一个Spring MVC的Controller处理,只是请求参数有点不同。这种关系的用例图该怎么画呢?好像还是应该用两个单独无关的用例来描述。

SimpleFormController说明这个Controller会关联到一个表单上,通过其setCommandName和setCommandClass这两个方法来设置。

怎么实现javascript验证到后台验证的切换,非要修改源代码吗?难道不能通过配置修改吗?看来目前好像就是只能通过在源程序中增加onsubmit事件。

formBackingObject(Request)回调用方法返回一个对象,这个对象用作ModelAndView中的实体对象,ModelAndView中需要的另外两个参数可以在SimpleFormController中配置(代码配置与属性配置都可以)

jstl中的fmt标签库到底找哪个资源文件,是通过web.xml文件中的一个<context-param>元素而设置的。

Junit测试调用Spring时,如果使用ClassPathXmlApplication装载"/WEB-INF/applicationContext.xml"文件时,需要将它的上级目录加入到classpath中,才能被ClasspathApplicationContext找到。由于"/WEB-INF/classes"已经被作为编译的目标目录,eclipse不让再加入其上级目录。如果将/WEB-INF的上级目录设置为源目录,以便其可以拷贝到/WEB-INF/classes目录中,是不是就可以了呢?

再次复习了digester的使用,以后将我的XML书中的dom和sax解析的例子改为把xml文档变成对象的例子,再以后使用digester来完成这一功能。思路:XMLLoader类有一个loadXml方法,在loadXml方法内部调用Digester进行解析,在XMLLoader类中要有一个setRootObject(顶层元素)和一个getRootObject方法,setRootObject被Digester调用,getRootObject方法被使用XMLLoader类的外界类使用,以便返回装配好的顶层对象。digester-rule.xml文件中有一个set-properties-rule是使用元素的属性设置JavaBean的相应属性。
今天的练习题是从XML文件中解析出 BookStore对象,然后再用hibernate的多表关联将BookStore存储进数据库中。xml的元素层次结构是BookStore-->BookCategory-->Book。