Spring MVC 在表单中选择值:表单验证错误后选择

2024-03-04

我的验证表单有问题,该表单有很多不同的字段(输入文本字段、选择选项、多重选择选项...)。我已经使用 Spring Security 开发了有关验证表单的所有逻辑源代码,但是当验证表单失败(例如,用户没有填写任何内容)并再次重新加载表单时,所有输入文本字段都已正确填写,但选择选项和多个选择选项已被删除,用户必须再次选择。为什么不像文本字段一样填充?

这是我的一个观点:

    <tr>
            <td><form:label path="TechContactName"><spring:message code="label.techcontactname"/><sup>*</sup></form:label></td>
            <td><form:input path="TechContactName" /></td>
            <td><form:errors path="techContactName" cssClass="error" /></td>
        </tr> 


<tr>
            <td><form:label path="LicenseProduct"><spring:message code="label.licenseproduct"/><sup>*</sup></form:label></td>
            <td><form:select path="licenseProduct" id="selectProduct" size="6" >
                        <option >Option 1</option>
                        <option >Option 2</option>
                        <option >Option 3</option>
                        <option >Option 4</option>
                        <option >Option 5</option>
                        <option >Option 6</option>
                </form:select></td>
            <td><form:errors path="licenseProduct" cssClass="error" /></td>
    </tr>

    <tr>
            <td><form:label path="DeployCountries"><spring:message code="label.deploycountries"/><sup>*</sup></form:label></td>
            <td><form:select path="deployCountries" id="selectCountries" multiple="multiple" >
                       <option value="AT">Austria</option>
                       <option value="BE">Belgium</option>
                       <option value="DK">Denmark</option>
                       <option value="FI">Finland</option>
                       <option value="FR">France</option>
                       <option value="DE">Germany</option>
                </form:select> </td>
           <td><form:errors path="deployCountries" cssClass="error" /></td>
        </tr>

还有我的控制器:

@SuppressWarnings("finally")
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public String addLicense(@Valid @ModelAttribute(value="license")  LicenseEntity license, BindingResult result, ModelMap map, HttpServletRequest request) 
    {
        if(result.hasErrors()){
            System.out.println("validation errors size..."+result.getErrorCount());

            return "editLicenseList";
        } else {
            //all works correctly           
        }

    }

当验证失败但 form:select 和 form:select multiple 失败并使用所选的任何值重新加载表单时,表单输入文本字段 si 正确填写。

提前致谢!


尝试使用 Spring 的<form:option>标签,而不是 HTML 自己的<option>标签。这将确保该选项在验证失败后保持选中状态(因为 Spring 将设置selected属性)。

<form:select path="licenseProduct" id="selectProduct" size="6" >
    <form:option value="Option 1"/>
    <form:option value="Option 2"/>
    <form:option value="Option 3"/>
    <form:option value="Option 4"/>
    <form:option value="Option 5"/>
    <form:option value="Option 6"/>
</form:select>

And

<form:select path="deployCountries" id="selectCountries" multiple="multiple" >
    <form:option value="AT" label="Austria"/>
    <form:option value="BE" label="Belgium"/>
    <form:option value="DK" label="Denmark"/>
    <form:option value="FI" label="Finland"/>
    <form:option value="FR" label="France"/>
    <form:option value="DE" label="Germany"/>
</form:select>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC 在表单中选择值:表单验证错误后选择 的相关文章

随机推荐

  • “cordova 平台添加 android”shasum 错误

    我正在完成设置和 HelloWorld 示例http cordova apache org docs en 3 5 0 guide cli index md html The 20Command Line 20Interface http
  • 当我导入 Xerces 库时无法构建应用程序(退出值 1)

    当我导入 Xerces 库时 我似乎无法构建我的应用程序 由于之前的问题 我已经在使用 multidex 因此我知道这一切都设置正确 我花了几天时间在网上查找并尝试各种版本的 Xerces 并对我的 build gradle 进行调整 但无
  • CSS open-quote 显示 1 个引号

    我使用以下 CSS 在段落前添加左引号 blockquote padding 22px quotes 201C 201D 2018 2019 font size 15px blockquote before color 111 conten
  • Postgres:整数范围的唯一约束

    给定两个整数 开始和结束 以及一个外键 我如何定义一个unique对区间 start end 和foreign key 的约束 鉴于我的表中有以下条目 start end foreign key 10 20 04ef8258 917c 46
  • Java中如何获取字符类型的类别名称?

    The Character getType int codePoint 返回一个整数 但我找不到方法 从中获取 unicode 类别名称 例如 Lu 或 Cn 我想要的是一种方法 例如Character getCategoryTypeNam
  • scala 中的构造函数(主/辅助/默认主)

    一个非常简单的练习凯霍斯特曼的 book Scala 适合不耐烦的人 一直让我困惑 是关于primary auxiliary and default primary构造函数 例如 5 10 考虑班级 class Employee val n
  • 不会采用父级
  • 我有一个 ul 与几个 li 其中的所有项目都在一行中 这 li li 有一个嵌套的 span and an img The img 所有项目的高度都相同 但是 span 项目包含可以跨越单行或两行的文本 取决于文本 我尝试过申请displ
  • ParseException:无效的会话令牌错误

    我做了一个简单的注册用户界面只是为了检查解析 但由于某种原因每次我尝试注册用户时都会出现此错误 这是代码 final ProgressDialog dlg new ProgressDialog this dlg setTitle Pleas
  • Java 中的内存映射集合

    我正在填满 JVM 堆空间 更改参数以为 JVM 提供更多堆空间 或更改代码中算法中的某些内容以不使用这么多空间是最推荐的两个选项 但是 如果这两个已经被尝试和应用 并且我仍然遇到内存不足的异常 我想看看其他选项是什么 我发现了这个例子 对
  • 使用 Keras (PIL) 和 TensorFlow 调整图像大小不一致?

    我对以下之间明显的不一致感到困扰 图像调整大小功能来自keras preprocessing 它们是 PIL 函数的包装器 TensorFlow 中的图像大小调整函数tf image 我正在使用 Keras 为计算机视觉任务训练深度学习模型
  • 如何提高 PostgreSQL 中带有游标的函数的性能?

    我有两个嵌套游标的功能 外部游标从源获取客户的付款详细信息 并根据某些业务逻辑插入到目标中 内部光标获取每笔付款的付款详细信息 它接连发生 Payments 表大约有 125000 行 其中大约 335000 行用于付款详细信息 所有这些行
  • 使用两个具有相同字符的分解对象断言 True

    我有两个 unicode 字符 两者具有相同的含义 这compat字符是对origin字符 这有意义 两者应该是相同的值 但是当我试图断言它们与条件相等时 它会返回False反而 origin korean letter for AE co
  • 通过“sed”将破折号插入字符串

    我有包含数字的 14 个字符行 如何在特定位置 即第 4 个位置 插入一个字符 所以 如果我有这样的字符串 xxxxxxxxxxxxxx 我怎样才能把它改成这样 xxxx xx xxxxxxxx 其中 x 代表数字 谢谢 伊雷克 如果你的台
  • 即使配置 SSL 属性后,Spring RMQ 侦听器也始终使用 PLAIN 身份验证

    我有一个 Spring Boot 应用程序 我正在尝试将侦听器配置为已有的队列 以下是我在我的配置中配置的application yml文件 我还用注释注释了我的配置类 EnableRabbit和听众 RabbitListener参考 sp
  • 即使方向是横向,Android也会加载drawable而不是drawable-land?

    我有一个启动屏幕 在主屏幕之前显示图像几秒钟Activity启动 它有一个纵向版本 drawable hdpi splash 和一个横向版本 drawable land hdpi 启动画面设置方向onCreate 我的问题 如果我将平板电脑
  • 如何检测CSS3调整大小事件

    CSS3 resize 属性可以分配给任意元素 我正在寻找一种方法来检测 div 上的此类调整大小 我不介意它目前仅在 Firefox 中工作 div resize horizontal overflow hidden 不幸的是 onres
  • 为什么我在制作 Spring 项目时会收到​​ not Exposure to the weaver 警告?

    当我制作 Spring 项目时 我似乎收到了很多这样的警告 该项目使用编译时编织和各种 Spring 注释 例如 Transactional Autowired 和 Configurable 我有三个问题 它们是什么 有什么效果 我应该关心
  • 当我结合 UIPanGestureRecognizer 和自动布局时,我的 UIViews 搞砸了

    当我沿着圆形轨迹拖动手指时 我想要一个球来跟踪我的手指 以适应 iPhone 或 iPad 上每个允许的设备方向 当设备旋转时 视图似乎正确居中 但球不会停留在圆周上 并且当我拖动它时 它似乎会去任何地方 EDIT 马丁 R的回答 http
  • 如何下载特定谷歌云“服务”的代码

    This doc https cloud google com appengine docs python tools downloading source code显示下载我在应用程序引擎中拥有的应用程序源代码的命令 appcfg py
  • Spring MVC 在表单中选择值:表单验证错误后选择

    我的验证表单有问题 该表单有很多不同的字段 输入文本字段 选择选项 多重选择选项 我已经使用 Spring Security 开发了有关验证表单的所有逻辑源代码 但是当验证表单失败 例如 用户没有填写任何内容 并再次重新加载表单时 所有输入