English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Во время практики я встретил ситуацию, когда выражения EL обрабатывались как строки и не интерпретировались правильно. В проекте использовалась Javaee5,
web.xml
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" >
Выражения EL не могли быть интерпретированы, они обрабатывались как строки.
Позже я изменил web.xml на
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
Переподключение и запуск Tomcat, и в результате выражения EL были правильно интерпретированы.
Позже, после дополнительного изучения материалов, я узнал:
Это новая функция Jsp2.0:
Введение языка выражений (EL)
Одной из основных особенностей JSP 2.0 является поддержка языков выражений (expression language). Язык выражений JSTL позволяет удобно доступ к скрытым объектам JSP и компонентам JavaBeans с использованием теговой формы. Основные теги JSTL предоставляют функции управления потоком и циклами. Также пользовательские теги могут иметь свои функции, поэтому基本上 все функции scriptlet могут быть заменены JSP. В JSP 2.0 рекомендуется использовать EL для обеспечения более единообразного формата JSP.
В <jsp-property-group> web.xml можно контролировать, использует ли группа JSP EL, и в каждой JSP можно указать, использует ли она EL. Атрибут isELIgnored в page directive используется для указания, следует ли игнорировать. Формат:
<%@ page isELIgnored="true|false"%>
Если установлено в значение true, то выражения в JSP обрабатываются как строки. Например, следующий выражение <p>${2000 % 20}</p> при isELIgnored="true" выводится как ${2000 % 20}, а при isELIgnored="false" выводится как 100. По умолчанию в веб-контейнере isELIgnored установлен в значение false.
Хотя JSP 2.0 позволяет полностью использовать языковой выражение в JSP и избегать scriptlet, на практике, выбор подходящего способа зависит от функциональных требований программы и личных условий программиста. JSP с использованием языковых выражений более удобны и упорядочены, но из-за необходимости преобразования тегов, они могут быть медленнее при первом вызове; некоторые программисты, которые хорошо знают Java, предпочитают стиль программирования до JSP 1.2, поэтому в использовании следует выбирать подходящий метод программирования в зависимости от ситуации.
Таким образом, по умолчанию в javaee4 настройка составляет <%@ page isELIgnored="false"%>, а в javaee5 по умолчанию может быть <%@ page isELIgnored="true"%>.Таким образом, в javaee5 мы можем указать на нормальное разрешение EL-выражений, установив в jsp-странице <%@ page isELIgnored="false"%>. .
Таким образом, решение проблемы обработки EL-выражений в этом jsp-странице как строки и отображения их значений, которое я хочу предложить вам, это все, что я могу поделиться. Надеюсь, это поможет вам и希望大家多多 поддерживать руководства по крику.