Spring的自动绑定功能非常棒。所以,我正在尝试处理这种情况:
我自动提取共享表单,该表单通过id引用共享的ForumPost。
输入类型=“隐藏”name =“post”value =“15”
因此,Spring将post对象自动绑定到结果对象。我有一个dataBinder函数,它根据提供的id加载帖子。
如何确保此处绑定的唯一内容是id。阻止用户说出
的最佳方法是什么 input type="hidden" name="post" value="15"
input type="hidden" name="post.txt" value="deface me"
在dataBinder中。我可以特意说
dataBinder.setAllowedFields("....all the allowed fields...","post")
这有点不方便,因为很容易忘记随着时间的推移无意中破坏应用程序的属性。
我认为不可能说
dataBinder.setDisallowedFields("post.*")
只是想知道处理这个问题最有效的方法是什么。
答案 0 :(得分:0)
最安全的方法是创建一个自定义的表单备份对象(仅包含表单所需字段的POJO),并将其用于绑定。
您可以使用Dozer之类的工具自动将表格支持对象中的值复制到域对象。