Не распознает тэг <c:set /> в JSP странице

153
09 октября 2018, 08:40

Имеется jsp страница со следующей частью кода:

<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %> <section id="head"> <%     if ((request.getSession().getAttribute("userSignIn") == null)) { %>     
    <div class="row" style="background-color:#76b852;box-shadow: 0 3px 20px #d4aeae;">
      <div class="col-md-4"></div>
      <div class="col-md-4 col-xs-4 col-lg-4 col-sm-4"  style="font-size:72px;box-shadow: -13px 3px black;text-shadow: 6px 0px black;">
        <a href="http://127.0.0.1:8000" style="color: #5d4747;"> Название
        </a>
      </div>
      <div class="col-md-4"> 
        <div class="row" >
          <div class="col-md-2"></div>
          <div class="col-md-2"></div>
          <div class="col-md-8"style="text-align:end;">
            <div class="login-page">
              <div class="form">
                <form method="post" action="/niikp/signIn" class="login-form">
                  <input type="text" name="email" placeholder="Введите email"/>
                  <input type="password" name="password" placeholder="Пароль"/>
                  <button type="submit" formaction="/niikp/signIn">Войти</button>
                  <p class="message">Не зарегестрированы? <a href="/niikp/registration">Создать аккаунт</a></p>
                </form>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>  <% } else  { %>         <div class="row" style="background-color:#76b852;box-shadow: 0 3px 20px #d4aeae;">
    <div class="col-md-4"></div>
    <div class="col-md-4 col-xs-4 col-lg-4 col-sm-4"  style="font-size:72px;box-shadow: -13px 3px black;text-shadow: 6px 0px black;">
      <a href="http://127.0.0.1:8000" style="color: #5d4747;"> Название
      </a>
    </div>
    <div class="col-md-4"> 
      <div class="row" >
        <div class="col-md-2"></div>
        <div class="col-md-2"></div>
        <div class="col-md-8"style="text-align:end;">
            <%
            UserProfile userSignIn = (UserProfile) request.getSession().getAttribute("userSignIn");
            System.out.println("id = " + userSignIn.getUserId() + " email: " + userSignIn.getEmail());
            %>
            <c:set var="id" value="${userSignIn.getUserId()}"/>    
            <c:set var="email" value="${userSignIn.getEmail()}"/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
            <a href="/niikp/users/${id}"  style="color:black">Привет, <%= userSignIn.getEmail() %></a>            
          </li>
          <li class="btn btn-link btn-lg">
            <a href="/niikp/logOut"  style="color:black">Выйти</a>
          </li>
          <li class="btn btn-link btn-lg" style="color:black">         
           </li>
         </div>
       </div>
     </div>    </div>       <% } %>  

Странная штука в следующем: работал на одной машине - все атрибуты UserProfile и другие (ну вообще все, которые задавались тэгом c:set) распознавались хорошо. Потом пришлось переехать на другую рабочую машину, проект был скопирован, все работает, кроме этих тэгов и атрибутов. Если заменить это на выражения JSP (как я сделал это с email), то все работает. Но хотелось бы узнать, почему не работает этот тэг или же в чем проблема? Прилагаю скрин того, как сейчас это отображается.

UPDATE:

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  <display-name>Archetype Created Web Application</display-name>
</web-app>
Answer 1

Спасибо @Igor Konyaev.
Проблема заключалась в неподобающем web.xml.

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
         http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 
         id="WebApp_ID" version="4.0">
</web-app>  

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

READ ALSO
Cannot parse &ldquo;2018 6 31 18 27 &rdquo;: Value 31 for dayOfMonth must be in the range [1,30]

Cannot parse “2018 6 31 18 27 ”: Value 31 for dayOfMonth must be in the range [1,30]

Как бороться с такой ошибкой? При выборе 31 числа на месяц назад или вперёдЯ ставлю на диалоге даты 31 октября, а ошибка на сентябрь идёт

171
Как работает lookbehind в js?

Как работает lookbehind в js?

Ожидал, что выражение /()(?<!\1

146