Spring MVC ajax 重新渲染用户界面重复

2024-01-05

首先我主要是JSF背景。

我最近开始学习Spring MVC。困扰我的一件事是使用时ajax重新渲染Spring MVC and JQuery.

让我们想象一下我在我的代码中定义了一个复杂的形式people.jsp view:

<c:forEach var="person" items="${people}">
   <table>
       <tr class="trPersonClass">...</tr>
       <tr>...</tr>
   </table>
</c:forEach>

我有一个refresh下面的按钮。单击刷新按钮时我想要ajax the people重新渲染。

function refreshButtonClicked() {
    $.ajax({
       type: "GET",
       url: "ajax/loadPeople.do"
    }).done(function( msg ) {   
        //WHAT SHOULD I DO HERE???            
    } 
});

那么我应该在那里做什么呢?我已经定义了人物渲染应该如何c:forEach标签在我的jsp。我不想再重复一遍。我不想在这两个地方重复用户界面代码 - 在JQuery完成回调并与JSP我的观点中的标签。我认为这很容易出错。

请解释一下我在这里缺少什么。


首先,Spring MVC非常灵活。您可以拥有返回由视图引擎生成的 HTML 的后端处理程序,也可以拥有返回 JSON/XML/ProtocolBuffers/等的处理程序。并使用 Mustache 等客户端渲染引擎在浏览器中显示页面,或者您可以将两者结合在同一个应用程序中。

如果您想在服务器上生成 HTML,Spring MVC 允许您使用不同的模板引擎来完成此操作。您可以使用 JSP、Freemarker、Velocity 等。为此,它使用 ViewResolver 抽象,并且在您的代码中您只需处理 ModelAndView API。

有关 ViewResolver 的更多详细信息可以在这里找到:http://static.springsource.org/spring/docs/3.0.x/reference/mvc.html http://static.springsource.org/spring/docs/3.0.x/reference/mvc.html

根据您的问题,听起来您有一个使用 JSP 创建 html 服务器端的后端。为了仅更新表而不是在用户单击刷新按钮时重新加载整个页面,您可以使用一个仅返回 html 表的处理程序,如下所示:

@RequestMapping("/table")
public ModelAndView renderTable() {
   List<People> people = peopleService.findAllPeople();
   return new ModelAndView("/people", "people", people);
}

我还假设您有另一个处理程序,它返回通过 ajax 嵌入表格的主页。

<body>
    ...
    /* Content of div will be populated via ajax*/
    <div id="myTableContainer" />
    ...
</body>

这个的 JavaScript 应该是这样的:

$(function() {

  var myTableContainer = $("#myTableContainer");

  var renderTable = function(container) { 
    $.get("/table", function(data) {
      container.empty().html(data);
    }
  };

  /* This is called on document ready */
  renderTable(myTableContainer);

  /* Use the same renderTable function when the refresh button is clicked */
  $("#refreshButton").click(function() {
      renderTable(myTableContainer);
  });
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC ajax 重新渲染用户界面重复 的相关文章

  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • 如何处理 ASP.net MVC Ajax 加载页面上的 jQuery 事件?

    我有一个问题 我是 jQuery Mobile 领域的新手 对于 ASP Net MVC 部分我有点迷失 这是我的问题 在我的移动网站中 我想更改导航栏 我使用的更像是应用程序栏 按钮 而我位于编辑页面或主页等 因此 这些页面 编辑 显示
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • 如何将 android.net.Uri 转换为 java.net.URL? [复制]

    这个问题在这里已经有答案了 有没有办法从Uri to URL 我正在使用的库需要这个 它only接受一个URL但我需要在我的设备上使用图像 如果该方案的Uri is http or https new URL uri toString 应该
  • 动画进度元素值

    我有一个progress元素 该元素如下所示 div class container div div div
  • 具有共享依赖项的多模块项目的 Gradle 配置

    使用 gradle 制作第一个项目 所以我研究了 spring gradle hibernate 项目如何组织 gradle 文件 并开始制作自己的项目 但是 找不到错误 为什么我的配置不起作用 子项目无法解决依赖关系 所以项目树 Root
  • Java:正则表达式排除空值

    在问题中here https stackoverflow com questions 51359056 java regexp for a separated group of digits 我得到了正则表达式来匹配 1 到 99 之间的一
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • 获取给定类文件的目录路径

    我遇到的代码尝试从类本身的 class 文件所在的同一目录中读取一些配置文件 File configFiles new File this getClass getResource getPath listFiles new Filenam
  • Java 收集返回顶级项目的映射的嵌套流

    我有以下模型 class Item String name List
  • 如果链接包含特定文本,jQuery 将类添加到 href

    我的网站上的列表中有一些动态填充的链接 这些链接链接到文件 是否可以使用 jQuery 查看文件名是否以 pdf 结尾 并在 href 或类似的链接文本以 mp3 结尾时添加一个类 例如 我的列表中有以下链接 文件1 pdf 歌曲1 mp3
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 尝试使用等于“是”或“否”的字符串变量重新启动 do-while 循环

    计算行程距离的非常简单的程序 一周前刚刚开始 我有这个循环用于解决真或假问题 但我希望它适用于简单的 是 或 否 我为此分配的字符串是答案 public class Main public static void main String a
  • 解析输入,除了 System.in.read() 之外不使用任何东西

    我很难找到具体的细节System in read 有效 也许有人可以帮助我 似乎扫描仪会更好 但我不允许使用它 我被分配了一个任务 我应该以 Boolean Operator Boolean 的形式读取控制台用户输入 例如T F 或 T T
  • 淡出和循环一组 div 的最佳方式

    假设我有以下 div div class a You are funny div div class b You are smart div div class c You are cool div 最好的展示方式是什么div a持续 5
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • JVM:是否可以操作帧堆栈?

    假设我需要执行N同一线程中的任务 这些任务有时可能需要来自外部存储的一些值 我事先不知道哪个任务可能需要这样的值以及何时 获取速度要快得多M价值观是一次性的而不是相同的M值在M查询外部存储 注意我不能指望任务本身进行合作 它们只不过是 ja
  • 当用户单击链接时,如何记录 MixPanel 事件?

    当用户单击某种类型的链接时 我试图在 MixPanel 中记录一个事件 我正在使用 JQuery 不引人注意地完成此操作 据我所知 我需要添加一个回调函数 以便在记录事件后将用户带到 URL 这是我正在使用的代码 不幸的是
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A

随机推荐

  • 如何使用ggplot2创建黑白透明重叠直方图?

    我使用 ggplot2 创建两个透明重叠直方图 test data frame condition rep c a b each 500 value rep 1 1000 test 1 500 value rnorm 500 test 50
  • 使用 Javascript 控制嵌入式 Grooveshark 小部件?

    如何使用 Javascript 播放 暂停嵌入式 Grooveshark 小部件 想要按顺序播放单独的单首歌曲小部件 例如在soundcloud 用户页面 http soundcloud com tick tock favorites 我没
  • 淡出第一个 div,然后淡入第二个 div

    遇到一个问题 我需要做一些类似淡入淡出横幅的事情 一个 div 淡出 然后第二个 div 淡入 代码如下 document ready function setTimeout function zeus fadeOut 1000 5000
  • 如何限制排序后 Oracle 查询返回的行数?

    有没有办法制作一个Oracle查询的行为就像包含 MySQLlimit clause 在 MySQL 中 我可以这样做 select from sometable order by name limit 20 10 获取第 21 行到第 3
  • 获取 32px favicon.ico

    我试图获取网站的 32px favicon ico 但它获得的响应是 16px favicon 我猜是因为我试图通过智能手机获取它 但我尝试使用以下命令更改 http 请愿书的用户代理没有结果这里是我的代码 DefaultHttpClien
  • 我如何访问 ASP.NET 5 的内部结构

    在 asp net 5 之前 我会将 internalsVisibleTo some namespace name 添加到 AssemblyInfo cs 但我的 WebApi 项目中不再有 assemblyInfo cs 如何将 WebA
  • 角度 2:使用服务广播事件

    我试图在一个组件中单击按钮以将焦点放在另一个组件上的元素上 坦率地说 我不明白为什么这必须如此复杂 但我无法实现任何实际有效的更简单的方法 我正在使用一项服务 它不需要传递任何数据 除了that发生了点击声 我不确定监听组件如何响应该事件
  • 证书安装访问被拒绝错误

    我正在尝试在 localMachine Root 中添加证书 下面是我尝试过的代码 但这不允许我添加到本地计算机中 而添加它时说访问被拒绝 如何允许安装在本地计算机内 X509Certificate2 cert new X509Certif
  • 使用 Firestore 时如何为 RecyclerView 添加搜索过滤器?

    所以 我正在尝试创建显示作者列表 图像 姓名 简介 的应用程序 但问题是我在实现搜索功能时遇到问题 合作指南RecyclerView我用的是here https android jlelse eu fetch data from fireb
  • 如何删除R中箱线图中的异常值? [复制]

    这个问题在这里已经有答案了 可能的重复 更改箱线图中的异常值规则 https stackoverflow com questions 4994313 changing the outlier rule in a boxplot 我需要使用箱
  • 验证 ASP.NET 中的查询字符串

    是否有一个库可以在我当前的 ASP NET 应用程序中使用来验证查询字符串 编辑 使用正则表达式查找模式 例如字符串 仅 仅数字 长度为x的字符串 等 Thanks 不知道库 但您可以使用它来检查查询字符串是否存在 if String Is
  • 可以在工具栏中添加图像视图吗?

    我需要有关的信息Toolbar 我想在我的中添加四张图片Toolbar例如主页 新闻 搜索和消息 所以我把Imageview是在Toolbar 现在我不知道如何在这些图像上添加侦听器 我该怎么做 我还有一个导航抽屉 我想要它 如果你按Ima
  • 身份不是使用 WIF 的 IClaimsIdentity(在 ASP.NET MVC 4 / Azure 上)

    我有 VS2012RC 的 WIF 工具 并且我正在尝试让我的 ASP NET MVC 4 项目使用它们 我已经安装了NuGet包 https nuget org packages Microsoft IdentityModel 3 5 0
  • LuaSocket、Lua 5.2 和 Redis

    有谁能够让这些一起工作吗 我已经得到 5 2 工作得很好 它可以找到 lua redis redis lua 但是它无法加载套接字模块 我似乎无法使用 lua LuaSocket 版本 2 0 2 有人有任何建议可以让这个工作吗 我尝试过制
  • 向 iOS 应用程序添加一个对所有视图可见的顶栏

    在选项卡栏 iOS 应用程序中添加顶部栏 视图 的最佳方法是什么 该顶部栏始终保留在所有视图的顶部 无论选择哪个选项卡 如下图所示 我会使用 UIViewController Containment 看一眼 https developer
  • VBA 求解器不循环

    我试图在多个列上使用求解器 用户定义的确切列数 看完这里的问题后 我仍然找不到我的代码有什么问题 我对 VBA 还很陌生 当我运行它时 它在第一年运行良好 但不适用于接下来的几年 Dim wsFM B3 As Worksheet Set w
  • 如何使用Traceur在ES6类中实现私有方法[重复]

    这个问题在这里已经有答案了 我现在使用 Traceur Compiler 来利用 ES6 功能 我想从 ES5 实现这些东西 function Animal var self this sayHi sayHi function self h
  • 如何使用 JDBC 驱动程序和 SSL 连接连接到 Sybase ASE

    我尝试使用 JDBC 驱动程序建立与 Sybase ASE 15 7 的 SSL 连接 但没有成功 我尝试了以下选项 使用 JTDS 1 25 驱动程序 jtds 1 2 5 jar 使用以下连接字符串 jdbc jtds sybase h
  • MATLAB 中的套接字编程?

    我有两台运行 MATLAB 的机器 我需要在它们之间交换信息 数字 图像 MATLAB 有没有办法可以做到这一点 如果你有并行计算工具箱 http www mathworks com products parallel computing
  • Spring MVC ajax 重新渲染用户界面重复

    首先我主要是JSF背景 我最近开始学习Spring MVC 困扰我的一件事是使用时ajax重新渲染Spring MVC and JQuery 让我们想象一下我在我的代码中定义了一个复杂的形式people jsp view