Spring MVC学习(三)

 今天机器一直处于假死状态,太慢了。没办法工作了,整理下硬盘然后充实下内容好了!

昨天写了controller的配置,现在来看看相关的业务对象和VM页面。老样子,先写下配置对象代码。

大家可以看到这里在属性上使用了@NotBlank注解,表示该值不能为空,当然还有很多其他的注解,这里就不一一介绍了,可以去google一下。通过这些注解,validator才可以对属性进行相关服务器校验。那对象属性怎么和页面进行绑定的呢,这里使用的是velocity模板,那么我们的spring.vm里面的宏就闪亮登场了。

VM页面中FORM如下:

我们以<td>&nbsp;#springFormInput("userVO.loginName" "οnblur='checkLogin();'")#springShowErrors("" "")</td>这段为例进行说明。

#springFormInput可以看到这个宏,它的作用是在velocity在最后渲染时,生成一个input type=text 的表单域,通过这个宏我们就可以将表单对象与业务对象中的属性进行关联了。

#springFormInput宏的源码如下:(位置在spring-webmvc-*.jar这个包的org.springframework.web.servlet.view.velocity目录下的spring.vm中,有兴趣可以看看其他的配置)

可以看到,这里定义了一个名为springFormInput,参数为$path 和$attributes,中间以空格分隔的宏,在宏里面通过springMacroRequestContext绑定了对象状态,同时生成一个表单输入域。

这样我们提交的内容就直接和userVO的loginName属性进行绑定了,剩下的springShowErrors则是在验证时出错后显示错误信息的宏,具体错误信息有默认错误信息,还可以通过注解定义也可以通过message.properties进行绑定(国际化嘛)。如:UserVO.user[not.blank]=密码或用户名不能为空(记得要通过native2ascii进行转码),如果要使用message.properties则需要在dispatcherServlet-servlet.xml中增加:

这样我们的SpringMVC基本上就算组成了。写得烂,只能自己看看了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值