我正在尝试动态更新页面,为此,我需要在页面底部添加新对象,并且需要使它们看起来像其他对象。
因此,使用JSON和AJAX检索记录时,我并不想通过使用jQuery创建ac:forEach标记来显示它们,但似乎它无法识别我传递的值或无法创建该元素。 / p>
我遇到以下错误:
javax.el.PropertyNotFoundException: Property [user] not found on type [java.lang.String]
update.js
function onscrollUpdate(page) {
$.getJSON('${pageContext.request.contextPath}/getarticles?page='
+ page, addElement);
}
function addElement(data) {
console.log('adding elm');
$(
"<c:forEach var='article' items='" + data.articles + "' varStatus='status'>"
+ "<jsp:directive.include file='/WEB-INF/templates/articleTemp.jsp' />
</c:forEach>")
.appendTo('#article');
$('#page').text(data.page);
}
$(document).ready(function() {
setInterval(function() {
var page = '${page }';
onscrollUpdate(page);
}, 5000);
});
articleTemp.jsp
<c:choose>
<c:when
test='${article.user.isSubscribed()}'>
<a class="bold"
href='${pageContext.request.contextPath}/u/${article.user.username}'><span
class="silvername"> <c:out value="${article.user.name}"></c:out></span></a>
</c:when>
...
featured.java
@RequestMapping(value = "/getarticles", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
public Map<String, Object> getNumbers(@RequestParam(name = "page", required = false) String pagenum,
Principal principal) {
...
User user = new User();
if (principal != null) {
...
}
List<Article> articles = ...;
Map<String, Object> data = new HashMap<>();
data.put("articles", articles);
data.put("size", articles.size());
data.put("page", page);
return data;
}
最终目标是在用户滚动时动态更新页面,同时保留以前的设计和视觉效果,同时会导致500错误。