我遇到了 SpringMVC 的问题,我想知道其他人是否也遇到了问题。
我有一个<form:select>
绑定(bind)到 bean 属性。在jsp中,用户输入一些内容后,选择将填充<options>
通过 JavaScript。
当我发布表单时,我尝试在服务器端对其进行验证,如果出现错误,则会显示相同的 jsp <form:errors>
显示要修复的不同错误的字段。
我遇到的问题是,当显示回jsp时,之前在 <form:select>
中选择的值丢失了。
这肯定与没有<form:options>
有关。当页面生成时,它们是通过 js 加载的。
处理这种特殊情况的解决方案是什么?我必须绝对加载选择<options>
服务器端?
我在互联网上没有找到太多关于这个问题的信息,我不敢相信我是唯一遇到这个问题的人......
最佳答案
实际问题是什么,
你说<form:options>
一旦您发布表单,值就会使用 javascript 加载。它将创建一个页面帖子,进而创建一个 HttpRequest
到服务器。
如果出现错误,您将重定向回同一 jsp 页面,并且该页面不会包含任何输入的值
解决方法
您改为使用 Ajax
发布页面这样该值将保留在表单中,以防出现错误。
而不是让整个事情在服务器端发生变化。另一种方法是从 requestAttribute 加载选项,可以使用 model.addAttribute()
设置。从您的 Controller 。
关于javascript - SpringMVC : handling validation errors on a page with an ajax loaded <select>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29935032/