开发者社区> 问答> 正文

<sf:errors>不起作用? 400 报错

sf:errors不起作用? 400 报错

我在练习SMVC,用到了JSR303校验框架,定义好了校验条件,通过反复试验,确定它起作用了,但是有两个问题:

1.前台页面不显示错误信息,我在后台却能够正常遍历输出;

@RequestMapping(value="/register",method=RequestMethod.POST)
	public String register(@Valid Spitter spitter,Errors errors){
		if(errors.hasErrors()){
			//取得所有验证未通过的error,遍历打印
			List<ObjectError> list=new ArrayList<ObjectError>();
				list=errors.getAllErrors();
				for(int i=0;i<list.size();i++){
					System.out.println(list.get(i).getDefaultMessage());
				}
			System.out.println(spitter);
			System.out.println("属性验证未通过");
			return "registerForm";
		}
		spitterDaoImpl.add(spitter);
		return "redirect:/spitter/"+spitter.getUsername();
	}



2.校验失败后,表单信息丢失,需要重新填写。

请问这是怎么回事?

我的jsp页面如下:

<sf:form method="POST" modelAttribute="spitte">
      First Name: <sf:input type="text" path="firstName" /><sf:errors path="firstName" cssClass="errors"/><br/>
      Last Name: <sf:input type="text" path="lastName" /><sf:errors path="lastName" cssClass="errors"/><br/>
      Email: <sf:input type="email" path="email" /><sf:errors path="email" cssClass="errors"/><br/>
      Username: <sf:input type="text" path="username" /><sf:errors path="username" cssClass="errors"/><br/>
      Password: <sf:input type="password" path="password" /><sf:errors path="password" cssClass="errors"/><br/>
      <input type="submit" value="Register" />
    </sf:form>



展开
收起
爱吃鱼的程序员 2020-06-01 11:18:12 397 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    这个问题,你解决了吗?我也遇到了这个问题######回复 @末日花都 : <sf:form method="POST" modelAttribute="spitte"> 写错了, spitter少了个字母######没有啊,我也很头疼,布兰少爷。。

    2020-06-01 11:29:02
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载