Java Struts2验证-验证失败时重新填充子项

Java Struts2验证-验证失败时重新填充子项,java,validation,struts2,Java,Validation,Struts2,很晚了,我很累,但这个问题让我烦透了 我有一张表格。此表单有一些映射到实体的输入字段,在提交时将保留这些字段。 在同一页(但不是表单的一部分)中,我对该实体的子项进行了概述 struts2操作有一个名为edit()的方法,该方法将在显示表单之前运行。此方法接受提供的id参数,并从数据库中检索完整的实体(包括子实体)。 因此,表单将与子项信息一起很好地显示 不过。当验证(服务器端)出现错误时。实体对象不再具有子对象。所有信息(除了表单字段本身中的信息)似乎都消失了 即使验证失败,我该怎么做才能看到

很晚了,我很累,但这个问题让我烦透了

我有一张表格。此表单有一些映射到实体的输入字段,在提交时将保留这些字段。 在同一页(但不是表单的一部分)中,我对该实体的子项进行了概述

struts2操作有一个名为edit()的方法,该方法将在显示表单之前运行。此方法接受提供的id参数,并从数据库中检索完整的实体(包括子实体)。 因此,表单将与子项信息一起很好地显示

不过。当验证(服务器端)出现错误时。实体对象不再具有子对象。所有信息(除了表单字段本身中的信息)似乎都消失了


即使验证失败,我该怎么做才能看到我的孩子呢?

已经很晚了,我也很累了,但我还是想不起来:

我可能会通过使用ajax来避免这个问题(也就是说,将操作分成更小的部分,因为一个服务似乎与另一个服务无关,即显示子服务不需要与更新实体联系在一起)

但是这是一个很大的工作,特别是如果你不使用ajax的话。真正容易的是实现Validateable(或者如果您扩展了ActionSupport,那么它已经做到了),然后添加/覆盖validate方法。如果您使用xml进行验证,不要担心两者都会运行


然后创建一个setup方法来填充所需的字段,并将其放置在validate方法的正确位置(可能是第一行)。由于此操作总是在执行之前运行,因此可能会减小执行方法的大小。

时间已晚,我也很累,但我还是无法控制:

我可能会通过使用ajax来避免这个问题(也就是说,将操作分成更小的部分,因为一个服务似乎与另一个服务无关,即显示子服务不需要与更新实体联系在一起)

但是这是一个很大的工作,特别是如果你不使用ajax的话。真正容易的是实现Validateable(或者如果您扩展了ActionSupport,那么它已经做到了),然后添加/覆盖validate方法。如果您使用xml进行验证,不要担心两者都会运行


然后创建一个setup方法来填充所需的字段,并将其放置在validate方法的正确位置(可能是第一行)。因为这总是在执行之前运行,所以它可能会减少执行方法的大小。

Perfect。我不知道可验证的,但这正是我需要的。太好了。我不知道可验证性,但这正是我所需要的。