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

在jsp中编辑表单输入详细信息,jsp,servlets,Jsp,Servlets,我制作了一个输入表单,它接受输入并使用JSP和servlet将其存储在数据库中。 该表单具有“编辑详细信息”按钮。 我希望当用户单击该按钮时,表单应该自动填充旧值,并允许用户更改这些值。新值应该在数据库中得到更新。 这是表单的屏幕截图。 请帮忙 这取决于你想在哪里做。您可以在客户端或服务器端执行此操作。有关客户端站点,请参阅下面的帖子。 对于服务器端 如果您是ORM,那么可以使用SaveOrUpdate()调用。阅读它的功能 或 创建2个数据传输对象,让我们称它们为loadTimeObject

我制作了一个输入表单,它接受输入并使用JSP和servlet将其存储在数据库中。 该表单具有“编辑详细信息”按钮。 我希望当用户单击该按钮时,表单应该自动填充旧值,并允许用户更改这些值。新值应该在数据库中得到更新。 这是表单的屏幕截图。 请帮忙


这取决于你想在哪里做。您可以在客户端或服务器端执行此操作。有关客户端站点,请参阅下面的帖子。

对于服务器端

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

创建2个数据传输对象,让我们称它们为loadTimeObject和submitObject

这里假设流和域模型

  • 编辑详细信息按钮单击->获取行id或主键/唯一 行/或id
  • 通过makeAjax调用将数据加载到字段中,或者如果JavaScript对象中已有数据,则使用行/对象id将其称为loadTimeObject
  • 用户进行/不进行更改,然后单击提交。将表单字段加载到submitObject。在Java中验证loadTimeObject和submitObject是否不同?跟踪更改的字段并将其保存在数据库中
  • 提示:您可以使用Apache Commons Beanutils CompareObject(Object loadTimeObject、Object submitObject)方法

    使用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
    
                }
    
            }
    
    publicstaticvoidcompare(T source,T target)抛出IllegalArgumentException,IllegalAccessException{
    if(source==null){
    抛出新的IllegalArgumentException(“此时不排除Null参数”);
    }
    Field[]fields=source.getClass().getFields();
    对象源对象;
    对象目标对象;
    用于(字段:字段){
    sourceObject=field.get(source);
    targetObject=field.get(目标);
    //比较对象
    }
    }
    
    这有什么帮助吗:)有什么帮助?你想要的是相当琐碎的东西,你在哪里遇到问题?你能更具体地说明你到目前为止所做的事情以及你在哪里需要帮助吗?它是一个简单的crud操作,首先在页面加载时,您将从DB获得值,并在JSP中填充。跟踪任何更改,如果更改,则将更新数据保存回数据库。加载页面时,上表为空,并从数据库中显示物料详细信息。当用户单击“编辑详细信息”时,我希望数据库中以前的详细信息应以大写形式显示,用户应能够更改这些详细信息,然后最终提交。@SheetalMohanSharma如何跟踪更改?这是我的问题,谢谢你的回答。我用别的方法解决了这个问题。