spring mvc hibernate-mile米乐体育

创建 springmvcdemo09 应用,该应用实现的功能与《spring mvc验证器应用实例》节中的 springmvcdemo08 应用相同。springmvcdemo09 所需的 jar 包如图 1 所示。 图 1springmvcdemo09的jar包 在 springmvcdemo09 应用中不需要创建验证器类 goodsvalidator。另外,service 层、view 层以及错误消息属性文件都与 springmvcdemo08 应用的相同。与 springmvcdemo08 应用的实现不同的是模型类、控制器类和 spring mvc 的核心配置文件,具体如下:

1)模型类

在模型类 goods 中利用 jsr 303 的标注类型对属性进行验证,具体代码如下:
 public class goods {     //goods.gname.required错误消息 key(国际化后对应的就是国际化的信息)     @notblank(message="{goods.gname.required}")     private string gname;     @notblank(message="{goods.gdesciption.required}")     private string gdescription;     @range(min=0,max=100,message="{gprice.invalid}")     private double gprice;     // 日期格式化(需要在配置文件中配置formattingconversionservicefactorybean)     @datetimeformat(pattern = "yyyy-mm-dd")     @past(message="{gdate.invalid}")     private date gdate;     //省略setter和getter方法
}

2)控制器类

在控制器类 goodscontroller 中使用 @valid 对模型对象进行验证,具体代码如下:
 package controller;  import javax.annotation.resource; import org.apache.commons.logging.log; import org.apache.commons.logging.logfactory; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.controller; import org.springframework.ui.model; import org.springframework.validation.bindingresult; import org.springframework.validation.validator; import org.springframework.web.bind.annotation.modelattribute; import org.springframework.web.bind.annotation.requestmapping; import pojo.goods; import service.goodsservice;  @controller @requestmapping("/goods") public class goodscontroller {     // 得到一个用来记录日志的对象,这样在打印信息的时候能够标记打印的是哪个类的信息     private static final log logger = logfactory.getlog(goodscontroller.class);     @autowired     private goodsservice goodsservice;     @requestmapping("/input")     public string input(model model) {         // 如果model中没有goods属性,addgoods.jsp会抛出异常         // 因为表单标签无法找到modelattribute属性指定的form backing object         model.addattribute("goods", new goods());         return "addgoods";     }      @requestmapping("/save")     public string save(@modelattribute goods goods, bindingresult result,model model) {         if (result.haserrors()) {             return "addgoods";         }         goodsservice.save(goods);         logger.info("添加成功");         model.addattribute("goodslist", goodsservice.getgoods());         return "goodslist";     } }

3)配置文件

配置文件 springmvc-servlet.xml 的代码如下:
                                                                           /web-inf/resource/errormessages                                                                                                                                                                             

4)测试应用

通过地址“http://localhost:8080/springmvcdemo09/goods/input”测试springmvcdemo09 应用。
展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图