在jsp中编辑表单输入详细信息

时间:2015-06-04 08:50:11

标签: jsp servlets

我创建了一个输入表单,它接受输入并使用JSP和Servlets将其存储在数据库中。 表单有一个EDIT DETAILS按钮。 我希望当用户单击该按钮时,表单应自动填充旧值并允许用户更改这些值。并且新值应该在数据库中更新。 这是表单的屏幕截图。 请帮忙......

enter image description here

1 个答案:

答案 0 :(得分:0)

这取决于你想做什么。您可以在客户端或服务器端执行此操作。对于客户站点,请参阅下面的帖子。 What is the best way to track changes in a form via javascript?

用于服务器端

如果您是ORM,那么您可以使用SaveOrUpdate()调用。阅读它的作用。

OR

make 2 dataTransfer对象让我们称之为loadTimeObject和submitObject。

在此假设流程和域模型。

  1. 修改详情按钮点击 - >获取行ID或主键/唯一 row /或id。
  2. 通过make Ajax调用将数据加载到字段,或者如果JavaScript对象中已有数据,则使用行/对象id - 将其称为loadTimeObject
  3. 用户进行/不进行更改,然后单击“提交”。将表单字段加载到submitObject。在Java中验证loadTimeObject和submitObject是否不同?跟踪哪些字段更改并将其保留在DB中。
  4. 提示:您可以使用Apache Commons Beanutils compareObjects(Object loadTimeObject,Object submitObject)方法。

    OR

    使用java反射来比较对象。

    public static <T> void Compare(T source, T target) throws IllegalArgumentException, IllegalAccessException {
    
                if(source == null) {
                    throw new IllegalArgumentException("Null argument not excepted at this point");
                }
    
                Field[] fields = source.getClass().getFields();
    
                Object sourceObject;
                Object targetObject;
    
                for(Field field : fields){
                    sourceObject = field.get(source);
                    targetObject = field.get(target);
    
                    //Compare the object
    
                }
    
            }