大佬教程收集整理的这篇文章主要介绍了Java,Spring Framework MVC-重定向,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
错误的显示<form:errors path="author"/>
如下:
使用时redirect:url
,您指示Spring将a发送302 Found
到客户端的浏览器,以强制浏览器向新URL 发出 第二个 请求。
由于重定向到的页面正在使用不同的请求/响应对象集进行操作,因此原始页面Errors
将丢失。
将“错误”传递到要重定向到的页面以便显示新页面的最简单方法是自己处理它,方法是向Session
对象添加消息,第二个页面的控制器可以查看该对象(或通过在网址中传递参数)。
我正在使用Spring Framework3。我有一个表单,用于向文章发布评论。提交表单后,将检查是否有任何错误。如果没有错误,则控制器返回字符串
"redirect:entryView/"+comment.getEntryId();
而且一切都很好。
但是当有一些错误时,如果控制器返回
"redirect:entryView/"+comment.getEntryId();
错误应使用spring-form.tld标签在表单附近显示:
<form:errors path="author"/>
但是没有显示的错误!当我试图返回时
"entryView/"+comment.getEntryId();
如果没有重定向:前缀,那么它将转到/rus/WEB-
INF/jsp/entryView/8.jsp,并且存在http状态404。但是必须转到http://example.com/rus/entryView/8,即文章和表单的评论所在的页面!
这是视图解析器:
<bean class="org.springframework.web.servlet.view.InternalresourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
我该怎么办?
其余控制器:
@Controller
public class CommentController {
private Russervice russervice;
private CommentValidator commentValidator;
@Autowired
public CommentController(Russervice russervice,CommentValidator commentValidator){
this.russervice = russervice;
this.commentValidator = commentValidator;
}
@requestMapping(value="/addComment",method=requestMethod.POST)
public String addComment(Comment comment,BindingResult result){
commentValidator.validate(comment,result);
if(result.hasErrors()){
return "redirect:entryView/"+comment.getEntryId();
}else{
russervice.postComment(comment);
return "redirect:entryView/"+comment.getEntryId();
}
}
}
以上是大佬教程为你收集整理的Java,Spring Framework MVC-重定向全部内容,希望文章能够帮你解决Java,Spring Framework MVC-重定向所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。