2012-02-24 3 views
1

Я использую tomcat 7.0.26 и индиго затмения.jstl и eclipse: возможно, проблема EL

Я положил jstl jars в мой webapp WEB-INF/lib как объяснено here. Я помещаю jstl-api-1.2.jar и jstl-impl-1.2.jar.

В моем веб-приложение web.xml, у меня есть:

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 

В моем файле .jsp, у меня есть

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

У меня есть несколько предупреждений в моем файле .jsp на:

<form> 
     <select id="language" name="language" onchange="submit()"> 
      <option value="en" ${language == 'en' ? 'selected' : ''}>English</option> 
      <option value="it" ${language == 'it' ? 'selected' : ''}>Italian</option> 
     </select> 
    </form> 

Точно:

Multiple annotations found at this line: 
- Invalid location of text (''}) in tag 
(<option>). 
- Invalid location of text (') in tag 
(<option>). 
- Undefined attribute name (en). 
- Undefined attribute name (language). 
- Invalid location of text (${) in tag 
(<option>). 
- Undefined attribute name (:). 
- Invalid location of text (' ? ') in tag 
(<option>). 

В «Console», появляется это предупреждение:

At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 

Моего простое приложение doen't успеха в отображении правильных меток в соответствии с языком пользователя.

Может ли параметр-tag/EL-предупреждение зависеть от jstl-файлов?

ответ

3

Попробуйте это:

<form> 
    <select id="language" name="language" onchange="submit()"> 
     <option value="en" <c:out value="${language == 'en' ? 'selected' : ''}"/> >English</option> 
     <option value="it" <c:out value="${language == 'it' ? 'selected' : ''}"/> >Italian</option> 
    </select> 
</form> 
+0

очень хороший совет! Благодаря! – artaxerxe