【问题标题】:Spring MVC Populate Modal FormSpring MVC 填充模态表单
【发布时间】:2014-07-29 06:38:09
【问题描述】:

我有一个用于添加用户的模式表单(使用bootstrap)。此表单通过我的控制器中的RequestMapping 连接到“addUser”方法。添加用户工作正常。

是否有一种简单的方法可以在单击编辑按钮后填充相同的模式表单来编辑现有用户详细信息?我是否必须对REST endpoint 进行AJAX 调用才能填充表单,或者有更好的方法吗?

我正在使用 Spring Boot。

谢谢, 杰瑞

【问题讨论】:

  • 您需要提供更多信息才能获得好的答案。执行此操作的最佳方法取决于您使用的视图技术。如果您在服务器上使用某些东西(例如 Thymeleaf),那么您可以在提供给浏览器的 HTML 中填充表单。如果您的所有视图逻辑都在客户端上,那么您将需要一种不同的方法。
  • 感谢您的回复,很抱歉没有提供足够的信息。我创建了一个基于Handling Form Submission 示例的简单项目。但是我创建了一个用户表单而不是问候表单,并将该表单放入 Bootstrap 的模态容器中。
  • 因此,当我单击“添加用户”按钮时,会显示模态表单,我可以输入用户详细信息,点击提交,详细信息将存储在内存数据库中。我遇到的问题是,当我单击“编辑”按钮时,我希望出现模态表单,并在不刷新页面的情况下填充我要编辑的用户详细信息。我能想到的唯一解决方案是使用 JQuery 进行 AJAX 调用,并以这种方式填充表单。有没有更好的方法,使用 Spring MVC 框架?

标签: spring spring-mvc spring-boot


【解决方案1】:

AJAX 请求将是您最好的选择,否则当您加载现有用户的页面并将它们以某种方式存储在内存或页面上时,您必须提前加载所有可编辑的用户属性。这不是最有效的解决方案,因为每次重新加载页面时,您都在为所有用户加载所有这些属性。如果您只有少数用户,那对您来说可能没问题,但如果您要与大量用户打交道,那么请求时间会更长。

【讨论】:

    【解决方案2】:

    是的,您可以发出 ajax 请求并以 Json 或 Xml 的形式获取模式详细信息。 下面的示例检索用户详细信息并将其设置为模态表单变量,如 userName

    $.ajax({
            type: "post",
            url: "Url to get the response",
            cache: false,               
            data:'userId=' + $("#userId").val(),
            success: function(response){
                var obj = JSON.parse(response);
                $('#userName').val(obj.userName);
            },
            error: function(){                      
                alert('Error while request..');
            }
        }); 
    

    【讨论】:

      猜你喜欢
      • 2018-02-22
      • 2016-07-05
      • 1970-01-01
      • 2015-01-02
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多