Как создать тег jstl с помощью jquery (c: forEach)? - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь динамически обновить свою страницу, для этого мне нужно добавить новые объекты внизу страницы, и мне нужно, чтобы они выглядели как другие.

Так что использование JSON и AJAX дляполучить записи, которые я не пытаюсь отобразить, создав тег ac: forEach с помощью jquery, но кажется, что он либо не распознает передаваемые мной значения, либо не может создать элемент.

Я получаюследующая ошибка:

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;
}

Theконечная цель - динамически обновлять страницу по мере прокрутки пользователем, сохраняя при этом прежний дизайн и визуальные эффекты, в то же время это вызывает ошибку 500.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...