Замените скриптлет, чтобы избежать кода Java внутри .jsp файла

У меня есть тот же скрипт Java, скопированный и вставленный в несколько файлов .jsp. Я хотел бы заменить его на решение, которое легче поддерживать и лучше читается

    <%
    if (!MediaUtil.validateAuthorization()) {
        out.println("Unauthorized");
    } else {
        String srcquery = request.getQueryString();
        if (srcquery == null) {
            srcquery = "";
        }
        User currentUser = UserService.findCurrentUser();

        if (currentUser == null) {
            out.println(User.MESSAGE_NO_USER);
        } else {
    %>

    <html>
    <head>

Всего 1 ответ


Чтобы заменить часть if / else, вы можете использовать <c:if> или <c:choose>

Первый из них предоставляет один выбор и ничего другого (но два тэга с противоположными условиями помогут).

Лучше использовать <c:choose> в вашем случае.

<c:choose>
    <c:when test="${condition}">...</c:when>
    <c:otherwise>...</c:otherwise>
</c:choose>

В остальном вам нужно будет использовать бин для передачи данных между вашим сервлетом и JSP.


Есть идеи?

10000