我在struts 1.2框架中有一个要求,我在我的表单中有50到60个字段,其中我只需要更新3个字段(由用户更改)所以当我提交表单时,只有这3个字段需要在数据库中更新。
如何识别struts ActionForm中50个字段中的3个更改/修改字段。 你的建议非常值得赞赏。
答案 0 :(得分:0)
由于您提交表单时提交了所有字段(有时复选框除外),因此无法执行此操作。
您可以使用javascript和ajax发布您想要更改的值。在字段上设置事件处理程序以检测用户是否更改了它们并仅发布已更改的字段。这样做的问题是,如果你走这条路,你只能使用javascript来提交'表格'。
我个人会做的是创建一个javabean,你可以从你的表单中填充它只包含你正在检查的3个字段,如果它们发生了变化。从db获取当前数据(或者如果您不想再次查询,则可以使用会话属性)并使用该数据填充javabean的另一个实例。比较两个bean以查看字段是否相等。根据您要比较的bean的相等性处理表单的其余部分。
或者,只要您使用actionform填充字段开头,请将用户提交的actionform与填充了新数据的另一个操作表单进行比较,以确定实际需要保留的内容。