Статический атрибут должен быть строковым литералом, когда используется <% @ page isELIgnored = "false"%>

Я использую страницу JSP и следующий тег JSTL.

 <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
 <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
 <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
 <%@ taglib prefix="vlh" uri="/WEB-INF/tld/valuelist.tld" %>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
 <%@ page import="java.util.List" %>
 <%@ page import="java.util.Locale" %>
  <%@ page isELIgnored ="false" %>

 ...... <c:forEach items="${list}" var="productInfo">

когда я запускаю это, это показывает следующую ошибку...

  selectLoginProfile.jsp:144:17: Static attribute must be a String literal, its illegal to specify an expression.
          <c:forEach items="${list}" var="productInfo">
                                 ^---^
 selectLoginProfile.jsp:148:70: Static attribute must be a String literal, its illegal to specify an expression.
                document.ProfileLoginForm.userName.value='<c:out value="${userInfo.userName}"/>';
                                                                 ^---^

1 ответ

Замените свой основной taglib

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

с

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>

Другие вопросы по тегам