【问题标题】:JSP delete row and saveJSP删除行并保存
【发布时间】:2012-02-22 06:18:06
【问题描述】:

我正在使用 Spring MVC 2、Jsp、Dojo、Javascript

实际上,我正在使用表单命令对象中的对象列表填充 Jsp 页表网格。假设在网格中显示 3 条记录。我正在使用 JavaScript getElementById.. delete-row/removeChild 函数删除第三条记录。该记录将从演示文稿中删除,即网格。现在当我保存这个时。服务器端需要 3 条记录而不是 2 条。它应该需要 2 条记录,因为第三条记录已被删除。我正在使用 Dojo 来拖放网格行。

【问题讨论】:

  • 您的代码中可能存在错误。
  • 我不知道,因为您忘记在问题中包含您的代码。
  • 问题不在于代码。当我通过javascript添加新行时。这个新行进入服务器端。但是,当我删除任何行时,它也会转到服务器端,这不应该是......我认为浏览器或某些绑定容器没有相应地更新?你说什么?
  • 我说你的代码中出现错误的概率与浏览器相比是 99.99% 对 0.01%。但没有人能确定,因为我们无权访问您的代码。

标签: java javascript jsp spring-mvc dojo


【解决方案1】:

如果您正在使用维护数据存储的网格组件 - 例如DojoX DataGrid,您可能正在删除行的标记,但没有告诉数据存储清除行数据。保存时,数据存储区发送所有三行。

如果你使用DataGrid,你应该delete the row from the DataStore,它会自动反映在UI中。

【讨论】:

    【解决方案2】:

    当我遇到此类问题时,我总是会在回复中检查与缓存相关的标头。

    是否应该从服务器获取保存的数据以刷新视图的 http 请求没有到达服务器,而是访问了浏览器缓存?

    【讨论】:

      【解决方案3】:

      无法解决问题,但另一个逻辑可以满足我的需要。 Spring 表单标签用于将其与 objectclass 绑定。将已删除项目行的 id 转换为负数并将此行隐藏在客户端就可以了。当表单提交此负 id 转换为正值并从数据库中删除。

      【讨论】:

        猜你喜欢
        • 2015-05-06
        • 1970-01-01
        • 2014-11-12
        • 2017-07-05
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 2016-11-06
        • 1970-01-01
        相关资源
        最近更新 更多