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

jbutton 2011-05-31 09:33:31
错误消息要用jstl 来接收
用注解式验证之后错误消息也能打印出来了,现在的问题是怎么在jsp页面用JSTL接收每个验证不成功的错误消息呢?
adduser.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";
}

...全文
719 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jbutton 2011-05-31
  • 打赏
  • 举报
回复

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 应该已经把这些消息传送到显示层了,我现在就想 在jstl里面这样来接收 比如:${errors.name}显示name不能为null
${errors.email} 显示 may not be empty
jbutton 2011-05-31
  • 打赏
  • 举报
回复
你意思是想想直接解析 这些错误消息然后存到request里面? spring MVC 前台不是可以自动得到这些具体错误消息吗? 我只是想要用JSTL 来接收
jbutton 2011-05-31
  • 打赏
  • 举报
回复
System.out.println("error:"+ls.get(i));
打印的错误消息


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]

JavaAlpha 2011-05-31
  • 打赏
  • 举报
回复
错误消息是什么?贴出来。
【2021年,将Spring全家桶系列课程进行Review,修复顺序等错误。进入2022年,将Spring的课程进行整理,整理为案例精讲的系列课程,并新增高级的Spring Security等内容,通过手把手一步步教你从零开始学会应用Spring,课件将逐步进行上传,敬请期待】 本课程是Spring案例精讲课程的第四部分Spring Cloud,Spring案例精讲课程以真实场景、项目实战为导向,循序渐进,深入浅出的讲解Java网络编程,助力您在技术工作中更进一步。 本课程聚焦Spring Cloud的核心知识点:注册中心、服务提供者与消费者、服务的调用OpenFeign、Hystrix监控、服务网关gateway、消息驱动的微服务Spring Cloud Stream、分布式集群、分布式配置中心的案例介绍, 快速掌握Spring Cloud的核心知识,快速上手,为学习及工作做好充足的准备。 由于本课程聚焦于案例,即直接上手操作,对于Spring的原理等不会做过多介绍,希望了解原理等内容的需要通过其他视频或者书籍去了解,建议按照该案例课程一步步做下来,之后再去进一步回顾原理,这样能够促进大家对原理有更好的理解。【通过Spring全家桶,我们保证你能收获到以下几点】 1、掌握Spring全家桶主要部分的开发、实现2、可以使用Spring MVC、Spring Boot、Spring Cloud及Spring Data进行大部分的Spring开发3、初步了解使用微服务、了解使用Spring进行微服务的设计实现4、奠定扎实的Spring技术,具备了一定的独立开发的能力  【实力讲师】 毕业于清华大学软件学院软件工程专业,曾在Accenture、IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构、设计、开发及管理工作,在电商、零售、制造业等有丰富的项目实施经验  【本课程适用人群】如果你是一定不要错过!  适合于有JavaEE基础的,如:JSP、JSTL、Java基础等的学习者没有基础的学习者跟着课程可以学习,但是需要补充相关基础知识后,才能很好的参与到相关的工作中。 【Spring全家桶课程共包含如下几门】 

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧