六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 156|回复: 0

Spring框架的标签使用小记

[复制链接]

升级  30%

27

主题

27

主题

27

主题

秀才

Rank: 2

积分
95
 楼主| 发表于 2013-2-7 20:31:49 | 显示全部楼层 |阅读模式
Spring框架中提供了它自己的标签库,可以和相关的组建相结合,可以提供页面表单组件、错误信息的数据绑定等功能。
如果要想使用spring标签,要将dist目录下的spring.tld复制到你web应用程序下的/WEB-INF/下,并在web.xml中加入
<taglib>
  <taglib-uri>/spring</taglib>
  <taglib-location>/WEB-INF/spring.tld</taglib-location>
</taglib>
页面
<[email=%@taglib]%@taglib[/email] prefix="spring" uri="/spring"%>
<[email=%@page]%@page[/email] contentType="text/html;charset=Big5"%>
<html>
<head><title>Login</title></head>
<body>
    <spring:bind path="command.*"> //组件所有相关数据
        <font color="red"><b>${status.errorMessage}</b></font><br>
    </spring:bind>
   
    输入帐号密码:<p>
    <form name="loginform" action="/springapp/login.do" method="post">
   
        <spring:bind path="command.username">
        帐号 <input type="text" name="${status.expression}" value="${status.value}"/><br>
        </spring:bind>
   
        <spring:bind path="command.password">
        密码 <input type="password" name="${status.expression}" value="${status.value}"/><br>
        </spring:bind>   //status的expression显示绑定的属性名称 value存储的组建值
    
        <input type="submit" value="确定"/>
    </form>
    </body>
</html> 
使用标签需要一个BindException对象,所以用另一个onSumit(),当验证失败时候,可以用BindException对象的regect()方法,意思是表示拒绝这个输入的数据,reject()方法接受两个参数,第一个是error code 。当然需要MessageResourceSource ,设置好你的properties资源文件中的error code为key 写好相应的错误信息。
如果没有MessageResourceSource可以用第二个参数。
如:errors.reject("loginfail","you password is wrong");
errors.getModel()方法返回一个Map集合,之前的存储的错误信息就在这里面。可以设定给ModelAndView。这样就会在页面的标签上显示错误信息了。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表