SpringMVC - Form标签(六)

简介: SpringMVC - Form标签(六)

12、textarea 标签

SpringMVC textarea标签将被渲染为普通HTML textarea标签。简单示例如下:

<form:form action="formTag/form.do" method="post" commandName="user">  
    <table>  
        <tr>  
            <td>自我介绍:</td>  
            <td>  
               <form:textarea path="introduction" cols="20" rows="10"/>  
            </td>  
        </tr>  
       <tr>  
            <td colspan="2"><input type="submit" value="提交"/></td>  
        </tr>  
    </table>  
</form:form> 

13、errors 标签


SpringMVC errors标签是对应于SpringMVC的Errors对象的。它的作用就是用于展现Errors对象中包含的错误信息的。我们利用errors标签来展现Errors的时候是通过errors标签的path属性来绑定一个错误信息的。我们可以通过path属性来展现两种类型的错误信息。


(1)所有的错误信息,这个时候path的值应该置为 “*”


(2)当前对象的某一个域的错误信息,这个时候path的值应为所需展现的域的名称


看下面这样一个例子:


定义了一个UserValidator对象,专门用来对User对象进行验证,其代码如下:


import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
public class UserValidator implements Validator {
    @Override
    public boolean supports(Class<?> clazz) {
       // TODO Auto-generated method stub
       return User.class.equals(clazz);
    }
    @Override
    public void validate(Object target, Errors errors) {
       // TODO Auto-generated method stub
       ValidationUtils.rejectIfEmpty(errors, "name", null, "Name Is Empty");
       ValidationUtils.rejectIfEmpty(errors, "username", null, "Username Is Empty.");
    }
}

然后我们有这样一个控制器类:

@Controller
@RequestMapping("formTag")
public class FormTagController {
    @RequestMapping(value="form", method=RequestMethod.GET)
    public String formTag(Map<String, Object> map) {
       User user = new User();
       map.put("user", user);
       return "formTag/form";
    }
    @InitBinder
    public void initBinder(DataBinder binder) {
       binder.setValidator(new UserValidator());
    }
    @RequestMapping(value="form", method=RequestMethod.POST)
    public String form(@Valid User user, Errors errors) {
       if (errors.hasFieldErrors())
           return "formTag/form";
       return "formTag/submit";
    }
} 

我们可以看到我们在上述控制器类中通过DataBinder对象给该类设定了一个用于验证的UserValidator,这样当我们请求该控制器的时候UserValidator将生效。

我们有如下这样一段表单代码:

<form:form action="formTag/form.do" method="post" commandName="user">  
    <table border="1px" bordercolor="blue">  
        <tr align="center">  
            <td width="100">姓名:</td>  
            <td width="150"><form:input path="name"/></td>  
        </tr>  
        <tr align="center">  
            <td>用户名:</td>  
            <td><form:input path="username"/></td>  
        </tr>  
        <tr>  
            <td>所有错误信息:</td>  
            <td><form:errors path="*"/></td>  
        </tr>  
        <tr>  
            <td>Name的错误信息:</td>  
            <td><form:errors path="name"/></td>  
        </tr>  
        <tr align="center">  
            <td colspan="2"><input type="submit" value="提交"/></td>  
        </tr>  
    </table>  
</form:form> 

当我们提交上面的表单的时候会往Errors中注入两个错误信息,展示的页面信息将如下所示:


image.png

目录
相关文章
|
9月前
|
自然语言处理 前端开发 Java
SpringMVC中form标签与数据绑定应用实践
SpringMVC中form标签与数据绑定应用实践
64 0
|
10月前
|
自然语言处理 前端开发 Java
SpringMVC表单标签
SpringMVC表单标签
|
11月前
|
XML Java 数据格式
J2EE&JSP自定义标签库01&out标签&if标签
J2EE&JSP自定义标签库01&out标签&if标签
|
Java 数据库 Spring
SpringMVC-form标签
SpringMVC-form标签
71 0
|
Java
SpringMVC中使用form:form表单标签报500错误
SpringMVC中使用form:form表单标签报500错误
101 0
|
Java
strus2中页面的s标签,替换jsp的el和jstl标签
strus2中页面的s标签,替换jsp的el和jstl标签
104 0
strus2中页面的s标签,替换jsp的el和jstl标签
|
前端开发 Java Spring
Spring MVC框架:第八章:表单form:form标签
Spring MVC框架:第八章:表单form:form标签
181 0
Spring MVC框架:第八章:表单form:form标签
SpringMVC - Form标签(四)
SpringMVC - Form标签(四)
160 0
SpringMVC - Form标签(四)
SpringMVC - Form标签(五)
SpringMVC - Form标签(五)
133 0
SpringMVC - Form标签(五)
|
Java Spring
SpringMVC - Form标签(三)
SpringMVC - Form标签(三)
99 0
SpringMVC - Form标签(三)