web.xml中"web-app_2_5.xsd"引起的EL表达式无效异常
org.apache.jasper.JasperException: Unable to convert string "${tasks}" to class "java.util.Collection" for attribute "items": Property Editor not registered with the PropertyEditorManager
这种异常,试着调了不少时间,tasks是从后台传过来的list集,在前台jsp页面不能使用${tasks},弄的我莫名其妙怎么会出现这样的问题,其实从后台取值并传值到前台来根本就没有错,而前台JSP页面EL表达式无效,解析不到EL表达式,引起的原因是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">
注意里面的web-app_2_5.xsd,就是这个引起的,在web-app_2_4.xsd中就不会出现这种问题(这个版本的isELIgnored默认设置为false)。
在不改变web.xml2.5版本的情况下解决办法是:在jsp页面头加:<%@page isELIgnored="false"%> 问题得以解决。
分享到:
相关推荐
由于Web 2.5及更高版本的规范默认支持EL表达式的解析,可以通过修改web.xml文件的`<web-app>`标签中的`version`属性值来实现。 ```xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=...
为了使Tomcat 5.5.28支持EL表达式,首先需要修改部署目录下的`web.xml`文件。具体操作如下: 1. **定位web.xml文件**:在你的Web应用的`WEB-INF`目录下找到`web.xml`文件。如果是在Tomcat服务器级别的配置,则需...
1. **EL 识别问题**:如果 JSP 页面无法识别 EL 表达式,检查 `web.xml` 配置是否正确,同时确保 JSP 页面没有显式禁用 EL。 2. **IDE 配置**:在使用 IDE(如 IntelliJ IDEA)开发时,确保 IDE 的 JSP 插件和服务器...
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <jsp-config> <taglib-uri>/WEB-INF/c.tld</taglib-uri> <taglib-location>/WEB-INF/c.jar</taglib-location> </jsp-config> <!-- ....
4. `web-app_2_5.xsd` - Servlet 2.5和JSP 2.1 如果你的`web.xml`文件使用的是Servlet 2.4之前的版本,那么EL可能默认被忽略,需要在每个JSP页面的指令中显式设置`isELIgnored="false"`,例如: ```jsp ``` 或者...
2. 方法二:修改`web.xml`配置文件中的`<web-app>`标签,确保其版本为2.4或更高,且不包含禁用EL的配置。例如: ```xml <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi=...
在文章中提到了web-app_2_2.xsd至web-app_2_5.xsd等几个不同版本的XML Schema,但没有说明具体是哪个版本解决了问题。 在文章中还提到了web-app的命名空间从j2ee变更为javaee的变化,这对应于J2EE 1.4到Java EE 5的...
在Java Web开发中,Expression Language(EL)是一种强大的表达式语言,用于在JSP页面、JSF组件或者Servlet中访问和操作JavaBeans属性。EL提供了一种简洁的方式来获取和设置对象的属性,以及调用对象的方法。然而,...
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet....
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet-name>spmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load...
1. **整体升级项目配置**:通过修改`web.xml`文件中的DTD版本,将项目从Servlet2.3/JSP1.2升级至Servlet2.4/JSP2.0,使得整个项目能够支持EL表达式。 2. **局部开启EL表达式支持**:对于特定的JSP页面,可以通过设置...
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <jsp-config> <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri> <taglib-...
总的来说,当遇到JSP页面无法识别EL表达式的情况时,检查并调整JSP页面头部的 `isELIgnored` 属性或升级web.xml的版本是有效的解决策略。同时,确保你的JSP环境配置正确,例如Servlet容器(如Tomcat)的版本支持EL...
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> ``` 这里需要注意的是,版本号和命名空间URL应该与实际使用的JEE版本相匹配。 ###...
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> </web-app> ``` **4. 兼容性和依赖** JSTL 1.2.x与统一EL、JSF 1.2、JSP 2.1以及...
standard.jar中的“standard”标签库提供了对EL表达式的支持,使得开发者可以更方便地在JSP页面中使用EL。 解决"uri="http://java.sun.com/jsp/jstl/core"错误”的步骤如下: 1. 下载standard.jar和jstl.jar文件,...
如果遇到Spring框架中的El表达式无法解析的问题,可能是因为Servlet版本过低,不支持El表达式。这时需要更新`web.xml`文件,将其改为对应的JSP版本,例如改为`web-app_3_0.xsd`。 综上所述,Spring框架是一个强大的...
instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">`。 2. **升级Web服务器**:如果Web服务器(如Tomcat)的版本过低,不支持...
- **解析**:在JSP2.0中,通过表达式语言(Expression Language, EL)可以直接访问`pageContext`中的`request`对象来获取上下文路径。正确的方式是`${pageContext.request.contextPath}`,因为`contextPath`属性存储...
- **改进目的**:在Pafa3中,Web(DMZ/Web2)调用App仅支持EJB调用方式。Pafa4新增了配置切换功能,支持更多样的调用方式。 - **声明式事务管理** - **改进目的**:通过声明式事务管理简化事务的配置。 - **实现...