0 0

jsp 页面怎么得到spring BindingResult 里面的错误消息?20

错误消息要用jstl 来接收,
JSP 页面
<form name="users" action="topsoft/save" method="post">
客户ID:<input name="userKey" type="text" value="${users.userKey}" />
客户名:<input name="name" type="text" value="${users.name }" />
客户邮箱:<input name="email" type="text" value="${users.email }" />
<button type="sunmit">提交</button>

Users.java
public class Users {
	
	private Long userKey;
	@NotEmpty(message = "name不能为null")
	@Size(max=25)
	private String name;
	@NotEmpty
	@Email(message = "email不符合规则")
	private String email;
                   ''
                   ''
                   ''
                 get set 方法略
}

Controller

         @RequestMapping("save")
	public String save( @Valid Users users,BindingResult result) {
		System.out.println("UserKey:"+users.getUserKey());
		System.out.println("Email:"+users.getEmail());
		System.out.println("Name:"+users.getName());
		if(result.hasErrors()){
			List<ObjectError> ls=result.getAllErrors();
			for (int i = 0; i < ls.size(); i++) {
				System.out.println("error:"+ls.get(i));
			}
		}
		return "adduser";
	}

用注解式验证之后错误消息也能打印出来了,现在的问题是怎么在jsp页面用JSTL接收每个验证不成功的错误消息呢?

问题补充:下面是  System.out.println("error:"+ls.get(i));  
打印出来的信息,我直接空提交的得到的错误信息
我不要解析这些错误消息 然后塞到request里面,
spring MVC 不是有所有东西都塞到 ModeMap里面了吗, 这些东西应该也在里面吧, 现在问题是我怎么样用JSTL 得到。

error:Field error in object 'users' on field 'name': rejected value []; codes [NotEmpty.users.name,NotEmpty.name,NotEmpty.java.lang.String,NotEmpty]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [users.name,name]; arguments []; default message [name]]; default message [name不能为null]
error:Field error in object 'users' on field 'email': rejected value []; codes [NotEmpty.users.email,NotEmpty.email,NotEmpty.java.lang.String,NotEmpty]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [users.email,email]; arguments []; default message [email]]; default message [may not be empty]

问题补充:
引用
${users.name }
你users对象怎么注入到jstl中的,错误信息也可以这么注入进去


我不知道前台页面该怎么去取,我现在就想在jstl里面这样来接收 比如:${errors.name}  显示 name不能为null
${errors.email} 显示 may not be empty
引用

        List<FieldError>  err=result.getFieldErrors();
        FieldError fe;
        String field;
        String errorMessage;
        for (int i = 0; i < err.size(); i++) {
            fe=err.get(i);
            field=fe.getField();//得到那个字段验证出错
            errorMessage=fe.getDefaultMessage();//得到错误消息
            System.out.println("错误字段消息:"+field +" : "+errorMessage);
        }
  // 打印结果

错误字段消息:email : may not be empty
错误字段消息:name : name不能为null


后台可以得到具体错误消息了, 我不想解析这些东西,spring MVC 应该已经把这些消息传送到显示层了,问题现在我不知道前台页面怎么读取
2011年5月31日 09:16

3个答案 按时间排序 按投票排序

0 0

错误信息放在request中 这样试试
${org.springframework.validation.BindingResult.users}
取到的应该是个错误集合 你在向下延伸下去集合里的属性应该就可以

2011年6月10日 19:18
0 0

${users.name }
你users对象怎么注入到jstl中的,错误信息也可以这么注入进去。

2011年5月31日 10:45
0 0

用一个变量存放下“每个验证不成功的错误消息”

2011年5月31日 10:27

相关推荐

    SpringMVC+jsp之表单验证登录

    如果验证失败,SpringMVC会自动将错误信息填充到BindingResult对象中,我们可以在视图层展示这些错误。 JSP(JavaServer Pages)是一种动态网页技术,常用于创建视图。在登录场景下,我们可以创建一个login.jsp文件...

    Spring web MVC和spring 2.0 form tag解说

    Spring 2.0引入的Form Tag是一组自定义的JSP标签,它们使得在JSP页面上创建和操作表单更加方便。这些标签包括、、等,它们与Spring的BindingResult和ModelAttribute机制相结合,实现了模型数据与表单元素的自动绑定...

    最全最经典spring-mvc教程

    对于验证,Spring MVC提供了BindingResult和Validator接口,用于校验模型数据的正确性。 另外,Spring MVC与Spring框架的其他组件无缝集成,如Spring AOP(面向切面编程)用于实现日志、事务管理等功能,Spring ...

    spring注入web端校验类

    5. **webValidate.jsp**:这可能是你的一个JSP页面,用于显示表单并处理用户提交的数据。在这个页面中,你可以使用EL表达式和JSTL标签来显示错误消息。例如,`${not empty fieldErrors['username']}"&gt;`可以检查...

    24 Spring Core vs Spring MVC参数校验慕课专栏1

    开发者可以选择在JSP页面上显示这些错误信息,或者在拦截器的after方法中处理错误信息,尤其在处理JSON请求时,这种方式更为常见。 总之,参数校验是保证系统安全性和数据一致性的重要手段。Spring Core和Spring ...

    spring MVC 简单登陆例子

    public String handleLogin(@ModelAttribute("user") User user, BindingResult result) { if (user.getUsername().equals(user.getPassword())) { return "success"; // 登陆成功,重定向或展示成功页面 } else...

    Spring In Action MVC 提交表单(2)-数据绑定和数据校验

    当数据不满足校验规则时,Spring MVC会自动收集所有错误,并将它们放入`BindingResult`对象中。在控制器方法中,我们可以检查这个对象并决定如何处理错误,例如重定向到错误页面或显示错误消息。 ```java @...

    Spring MVC 实例

    public String createUser(@Valid User user, BindingResult result) { if (result.hasErrors()) { // 处理错误 } else { // 保存用户 } } ``` ### 5. 视图渲染 视图渲染通常是通过返回一个逻辑视图名来完成...

    Spring MVC3复杂表单终极解决办法

    这里,`@Valid`会触发对User对象的验证,任何验证错误会被收集到`BindingResult`对象中。 3. **多部分文件上传**: 对于包含文件上传的复杂表单,Spring MVC提供`MultipartFile`接口处理。在表单中,文件字段类型...

    spring-mvc-01.rar

    同时,通过 `@Valid` 和 `BindingResult` 可以实现数据验证,提高输入数据的正确性。 七、异常处理 通过 `@ExceptionHandler` 注解,可以在 Controller 中定义全局或特定异常的处理逻辑,提供友好的错误页面给用户...

    Spring MVC Demo.doc

    这里的`register`方法处理了`/register`请求,`@ModelAttribute("user")`将请求参数绑定到`User`对象,`BindingResult`用于收集任何验证错误。最后,`ModelAndView`对象包含了视图名称和模型数据,本例中视图为`...

    SpringMVC使用Validation验证表单

    如果验证失败,`BindingResult`参数将包含错误信息。我们可以检查`result.hasErrors()`,并在存在错误时返回表单页面,以便显示错误消息。 为了显示错误消息,我们需要在Thymeleaf或者JSP视图模板中获取并渲染它们...

    SpringMVC数据验证——注册用户格式的验证实例

    在`@PostMapping`的方法中,使用`@Valid`注解来触发验证,如果数据无效,Spring MVC会自动将错误消息存储在`BindingResult`对象中: ```java @PostMapping("/register") public String register(@Valid User user, ...

    spring-mvc-showcase.zip

    `@ModelAttribute`注解用于将请求参数与模型属性绑定,`@Valid`配合`@Validated`注解进行数据校验,错误信息可以通过`BindingResult`对象获取。 七、异常处理 通过`@ExceptionHandler`注解,可以在控制器中处理特定...

    springurl文档

    public ResponseEntity&lt;Employee&gt; createEmployee(@Valid Employee employee, BindingResult result) { if (result.hasErrors()) { // 处理错误 } // 业务逻辑 } ``` #### 拦截器 拦截器可以在控制器执行前后...

    spring3mvc真正入门资料

    - **BindingResult**:获取验证结果,用于显示错误信息。 6. **拦截器** - **HandlerInterceptor**:拦截请求,执行预处理和后处理操作,如权限验证、日志记录等。 - **@Order**:指定拦截器执行顺序。 7. **...

    Spring In Action SpringMVC 提交表单

    SpringMVC使用视图解析器(如InternalResourceViewResolver)将视图名称转换为实际的JSP页面。在上述例子中,"form"和"success"是视图名称,对应的可能是"WEB-INF/views/form.jsp"和"WEB-INF/views/success.jsp"。 ...

    springMVC拦截器

    3. **BindingResult**:在表单提交场景中,使用 `@Validated` 注解验证模型对象,并通过 BindingResult 获取验证错误信息。 4. **自定义异常类型**:创建自定义异常类型并包含错误信息,然后在处理器中抛出。 ### ...

    Casa-Codigo-Spring-Web-Example-Book-Store:-使用Spring Validator

    在视图层,例如使用Thymeleaf或JSP,可以遍历`BindingResult`中的错误信息,将它们展示在相应的表单字段旁边,以提示用户修正问题。 此外,Spring还提供了JSR-303/JSR-349标准的注解式验证,如`@NotNull`, `@Size`,...

    springmvc-form表单的使用

    - **错误处理**:当表单验证失败时,Spring MVC会自动将错误信息保存到`BindingResult`对象中。可以在Controller中添加`BindingResult`作为参数来获取这些错误信息,并在视图中展示给用户。 ```java @...

Global site tag (gtag.js) - Google Analytics