20170924

Posted Xpawn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20170924相关的知识,希望对你有一定的参考价值。

1. Springmvc中 JSR 303验证标准的实现

    1.1 添加maven相关依赖

<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
    <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
      <version>2.0.0.Final</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
    <dependency>
      <groupId>org.hibernate.validator</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>6.0.2.Final</version>
    </dependency>

   1.2 spring-mvc.xml配置中添加<mvc:annoation-driven/>标签

   1.3 对应的属性上添加注解,如下,需要lastName字段不能为空

    

    1.4 目标方法入参中对应的参数添加@Valid注解

   

   1.5 方法入参中添加BindingResult,用于保存校验失败的信息

  1.6 使用<form:errors>标签用于回显错误信息

  1.7 代码运行结果如下

  1.8 有个小坑:在方法入参Employee没有指定@ModelAttribute注解并指定value时,会以employee作为key去保存POJO对象以及errors相关信息,而在input页面的表单在没有指定modelattribute值时,默认以key=command读取POJO、Errors等相关信息,所以在Employee参数上添加@ModelAttribute注解并指定value=command。

 2. 使用Srpingmvc返回JSON数据

     2.1 添加maven依赖

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.9.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.9.1</version>
    </dependency>

   <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.9.1</version>
    </dependency>

  2.2 在目标方法上添加@ResponseBody注解并以POJO对象或其集合的形式返回

  2.3 结果如下:

  用视频教程老师的话:简单到没有朋友

3. Easy to Upload File With SpringMVC

  3.1 添加Maven依赖

<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.5</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.3</version>
    </dependency>

      spring-mvc.xml配置

 <bean id="multipartResolver"  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="utf-8"/>
        <property name="maxUploadSize" value="1024000"/>
    </bean>

   注:这里的id必须为  multipartResolver ,否则会一直失败

   3.2 书写Controller

@ResponseBody
    @RequestMapping("/testFileUpload.do")
    public String testFileUpload(@RequestParam("desc") String desc, @RequestParam("file")MultipartFile file){
        return "文件上传成功" + ",文件名: " + file.getOriginalFilename() + ",文件描述:" + desc;
    }

 

  3.3 测试一下:

<form action="test/testFileUpload.do" enctype="multipart/form-data" method="post">
File : <input type="file" name="file">
Desc : <input type="text" name="desc">
<input type="submit">
</form>

 

以上是关于20170924的主要内容,如果未能解决你的问题,请参考以下文章

924 a2924 a20170924 a2017

924 a20170924 a20170920924 a2

八校联考第二场(二试)(20170924)

4 a2924 a20170924 a2017924 a2924 a

20170924

20170924习题