我的表单中有一个下拉列表,当验证失败时有一个问题需要填充。我使用Preparable接口使用xml验证。要访问下拉数据,我需要从表单中传递一些ID。问题是当验证失败并调用prepare()/ prepareInput()时,没有设置包括ID在内的类中的变量。 ID是不变的形式的隐藏参数。请指教。 谢谢 尤里struts2验证:当验证失败时重新填充下拉列表
0
A
回答
2
准备()在Struts2是使用init()的许多其他框架中的作用相当的代名词,这是它被称为初始化动作和充满非常相似的构造作用。
似乎缺少一些东西......使用默认堆栈应该在调用验证之前设置操作的所有参数。所以如果客户确实传递了参数,我不明白为什么或者如何丢失任何东西,除非你的逻辑的某些部分清除了它们。
有时需要将其他对象作为您的操作中的字段获取,这些字段是由表单设置的值派生的,或者作为参数传入。在这种情况下,您希望准备在设置值之后调用,然后验证,如果此方案适用于您,则params-prepare-params堆栈是适当的。
个人而言,我会将准备逻辑放入动作执行方法而不是准备方法。只有当我把多个动作放到一个单独的类中时,准备方法才是最合适的,因为它会将重复的内容分解出来。然后params-prepare-params是一个特殊情况,虽然我会争论,如果你使用DI,它可能永远不需要使用。
如果这没有帮助,请使用动作类/ xml映射(如果有)扩展您的问题并提供验证xml以及我们可以看到为什么会发生这种情况。
相关问题
- 1. struts2下拉验证
- 2. 验证失败后填充表单
- 3. Codeigniter当服务器验证失败时,在JQuery Colorbox中重新填充表单
- 4. Laravel Blade - 如果验证失败,重新填充复选框?
- 5. 验证失败时重定向表单
- 6. AngularJS表单验证时输入动态填充失败
- 7. 下拉列表验证
- 8. 验证2下拉列表
- 9. 'required'验证下拉列表
- 10. 下拉列表验证
- 11. 验证下拉列表
- 12. jQuery验证下拉列表
- 13. 下拉列表验证
- 14. 保持下拉列表中的值失败形式验证CI
- 15. JSF中的依赖下拉列表失败验证
- 16. 验证失败
- 17. 验证失败
- 18. 验证失败
- 19. ASP.net MVC验证与jQuery验证混合dataannotations验证失败时
- 20. 当重新加载页面时,角度jwt验证失败
- 21. 重新验证失败的Firebase Android
- 22. 当JS验证失败时显示Div
- 23. 表单 - 自动填充使电子邮件验证失败
- 24. NLTK下载SSL:证书验证失败
- 25. 下拉验证
- 26. 下拉验证
- 27. Django表单验证失败
- 28. 表单验证失败
- 29. PHP表单验证失败
- 30. JQuery验证重新验证