gpt4 book ai didi

java - 将 Java 列表返回到 jQuery 对象中

转载 作者:行者123 更新时间:2023-11-28 20:14:36 25 4
gpt4 key购买 nike

基本上,我有一个由按钮实例化的 Ajax 请求,该请求被传递到我的 Controller ,然后该 Controller 返回一个对象列表。我最初在想是否可以通过将返回的ajax对象加载到JSTL forEach循环中来完成此操作,但经过一番研究后我认为这是不可能的。这是我的 ajax 请求,它根据值加载瞄准:

//edit the sighting based on the username value 
$(this).on("click", ".edit_sighting", function(){
$username = +$(".edit_sighting").val();
$.get("${pageContext.request.contextPath}/getSighting/" + username, function(sightings){
// load returned object somewhere
});
});

这是我的 Controller ,它处理 ajax 请求并响应返回“瞄准”对象列表:

@RequestMapping("/getSighting/{username}")
public @ResponseBody List<Sighting> getSighting(Model model, @PathVariable String username) {

List<Sighting> sightings = sightingsService.getSightings(username);
model.addAttribute("sightings", sightings);
return sightings;
}

本质上,我想将返回的对象加载到 foreach 循环或显示对象字段的东西中。例如:类似的事情。我的每个循环:

<c:forEach var="sighting" items="${sightings }">
<c:out value="sighting.name"/> <!-- load some sighting value -->
</c:forEach>

所以本质上我想要实现的是,在实例化按钮时将多个或一个“目击”加载到模态类型的事物中。

最佳答案

您不能为此使用 JSTL,因为 JSTL 是在页面发送到客户端之前在服务器上执行的。您可以做的是在服务器上呈现 HTML 并返回 HTML 文档(而不是 JSON)。因此,解决方案是定义一个 JSP View ,它使用 JSTL 呈现列表并更改 AJAX 请求以接受 HTML。

另一个解决方案是添加基于 JavaScript 的模板引擎并在客户端进行模板渲染。

或者使用 jQuery 手动完成。如果你有

<ul id="sightings"></ul>

那么你就可以

var sightings = $('#sightings');
sightings.empty();
$.each(sightings, function(index, e){
var li = $('<li>');
li.text(e);
sightings.append(li);
});

关于java - 将 Java 列表返回到 jQuery 对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19399048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com