【问题标题】:Spring MVC adding a row dynamically to JSP. javascript Vs controllerSpring MVC 向 JSP 动态添加一行。 javascript 与控制器
【发布时间】:2011-10-18 18:16:04
【问题描述】:

我正在使用 Spring MVC3 设计一个 Intranet 应用程序。我必须创建一个 JSP 页面,该页面具有一个数据网格,该数据网格从数据库和用户中填充,并且可以在 JSP 数据网格中添加行。我正在考虑以下两种选择:

  1. 使用 javascript 函数在“插入行”按钮上添加一行
  2. 要在“插入行”按钮上提交表单,请转到控制器并返回带有额外行的模型属性。

我更倾向于控制器方法,因为我觉得我可以更好地控制控制器中的数据表。

考虑到新行的某些单元格可能需要设置一些默认值,您能否建议哪种方法更好。

请注意,我不能使用 jQuery 或任何其他 javascript 库。

【问题讨论】:

  • 您希望您的网站在客户端禁用 JS 时仍能正常工作吗?
  • @BalusC:是的,我想要这样,但是我不能完全避免使用 JS,这意味着我仍然可能需要将 JS 用于其他一些功能(比如显示“金额”列的总数)用户移出“金额”单元格)
  • 你不一定需要避开JS。您可以将其用于渐进式增强以改善用户体验。
  • @BalusC:谢谢,据我所知,这归结为我的偏好:) 那时我将使用控制器方法,并使用 JS 来提高用户体验。再次感谢

标签: javascript jsp spring-mvc


【解决方案1】:

无论哪种方式都可以。

如果要将表单绑定到支持对象,则需要延迟初始化表单支持对象。

This 对我有帮助。

【讨论】:

  • 感谢您的回答,我想我将在控制器本身中添加该行。由于它是一个只有少数用户的 Intranet 应用程序,我认为额外的服务器访问应该不是问题。
【解决方案2】:

我知道这个帖子很旧,但它可以帮助其他人。这个问题的优雅解决方案是使用 Spring Core 中提供的 AutoPopulatingList。通过小的 Java 调整,您可以处理动态绑定。一个很好的教程详细解释了这一点是http://blog.richardadamdean.com/?p=12。 还可以查看Issue Binding AutoPopulating List to a form Spring MVC,它解释了您在集成时可能遇到的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    相关资源
    最近更新 更多