表单校验与文件上传

3.SpringMvc表单校验和文件上传

表单校验:

Jar包:

<!--    表单校验的依赖-->
<!--数据验证-->

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>4.0.1.GA</version>
</dependency>
<!--jboss logging-->
<dependency>
    <groupId>org.jboss.logging</groupId>
    <artifactId>jboss-logging</artifactId>
    <version>3.3.0.Final</version>
</dependency>

<!--validation api-->
<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.0.0.GA</version>
</dependency>

<!--slf4j api-->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
</dependency>

 

类:

package cn.biaodanjiaoyan;

import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.validation.Valid;

import static java.awt.SystemColor.info;

/**
 * Created by 席洪丽 on 2017/8/30.
 */
@Controller
public class FirstController {
    @RequestMapping("/first")
    public ModelAndView doFirst(@Valid UserInfo info, BindingResult br) {
        ModelAndView mv = new ModelAndView();
        mv.setViewName("/welcome.jsp");
        int errorCount = br.getErrorCount();
        if (errorCount > 0) {
            FieldError score = br.getFieldError("score");
            FieldError name = br.getFieldError("name");
            FieldError phone = br.getFieldError("name");
            if (score != null) {
                mv.addObject("scoremsg", score.getDefaultMessage());

            }
            if (name != null) {
                mv.addObject("namemsg", score.getDefaultMessage());
            }
            if (phone != null) {
                mv.addObject("phonemsg", score.getDefaultMessage());
            }
            mv.setViewName("/index.jsp");
        }
            return mv;
    }


}

package cn.biaodanjiaoyan;

import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

public class UserInfo {
    @Min(value = 0,message = "成绩最小值为{va}")
@Max(value = 100,message = "成绩最大值为{va}")
private Integer score;

    public Integer getScore() {
        return score;
    }

    public void setScore(Integer score) {
        this.score = score;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @NotEmpty(message = "手机号不允许为空")
    @Pattern(regexp = "^1[3,4,5,6,7,8,9]\\d{9}$",message = "手机号码不正确")

private String phone;
@NotEmpty(message = "用户名不能为空")
@Size(min = 6,message = "名称至少6个字符")
private String name;
}

 

配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"
>
               <context:component-scan base-package="cn.wenjianshangchuan"/>
               <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
               <mvc:annotation-driven/>
</beans>

表单:

<h1>数据校验</h1>
<form action="/first" method="post">
    成绩:<input name="score" /> <span>${scoremsg }</span><br/><br/>
    姓名:<input name="name"/><span>${namemsg }</span><br/><br/>
    电话:<input name="phone"/><span>${phonemsg }</span><br/><br/>
    <input type="submit" value="注册"/>
</form>

文件上传:

Jar包:

<!--文件上传的jar包-->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.1</version>
</dependency>

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.4</version>
</dependency>

1:package cn.wenjianshangchuan;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;

@Controller
public class FirstController {
    @RequestMapping("/first")
    public String doFirst(MultipartFile upload, HttpSession session){
        String childpath=upload.getOriginalFilename();
        String parenPath=session.getServletContext().getRealPath("/upload");
        File filepath=new File(parenPath,childpath);
        try {
            upload.transferTo(filepath);
            return "/welcome.jsp";
        } catch (IOException e) {
            e.printStackTrace();
            return "/fileupload.jsp";
        }
    }
}

2

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/tx  http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"
>
               <context:component-scan base-package="cn.wenjianshangchuan"/>
               <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
               <mvc:annotation-driven/>
</beans>

表单:<h1>文件上传</h1>
<form action="/first" method="post" enctype="multipart/form-data">
    文件<input type="file" name="upload"/>
           <input type="submit"/>
</form>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值