最近重构一个之前自己所做的项目,把原来的EJB+Struts2改回用Spring2.5+Struts2+Hibernate3.3来做,之前用Jboss发布的,现在改用Tomcat5.5发布,谁知原来正确的<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>时间格式化在Tomcat5.5下不管用,提示:Unable to convert string "${deployTime}" to class "java.util.Date" for attribute "value": Property Editor not registered with the PropertyEditorManager
上网查找资料后得知:主要原因是EL表达式无法被解析到.
其实从后台取值并传值到前台来根本就没有错,而前台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"%> 问题得以解决。
还有就是:<%@page isELIgnored="false"%>的优先级要高于web.xml中的设置,所以在JSP中的设置会盖掉web.xml中的设置.
分享到:
相关推荐
charset=GB2312" isELIgnored="false" %> //声明可以使用EL表达式,如果为"ture",则表示忽略${,即不能使用EL表达式。 <html> <head> <title>EL</title> </head> <%! int count=0; %> <body bgcolor="#ffffff"> ${...
注意,`<%@ page isELIgnored="true" %>`表示禁用EL,而`<%@ page isELIgnored="false" %>`则表示启用。 EL表达式的语法通常以`${}`包围,前缀是美元符号 `$`,如`${expression}`。表达式中的第一个命名变量可以是...
- 在JSP 1.2版本中,如果要使用EL表达式,需要在页面中显式声明`<%@ page isELIgnored="false" %>`。 - 示例: ```jsp <%@ page isELIgnored="false" %> <%@ taglib prefix="c" uri=...
<%@ page isELIgnored="true"%> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止 EL中的隐式对象 ${param.name} ${paramValues.name} cookie JSTL并没有提供设定cookie的动作, 例:要取得cookie中有一...
DOCTYPE html>`, 或者在JSP中添加`<%@ page isELIgnored="false"%>`以明确启用EL。 2. **配置Web应用的web.xml** 在`web.xml`中,确认`<jsp-config>`元素下的`<jsp-property-group>`配置正确。例如,确保`...
- JSTL标签与EL表达式一起使用时,确保JSP页面的`page指令`已设置为`isELIgnored="false"`,以便启用EL支持。 - 在使用JSTL时,尽量减少脚本let和Java表达式,以保持JSP页面的整洁和可读性。 - JSTL标签的执行顺序是...
<%@ page isELIgnored="false" %> ``` 其中,`isELIgnored="false"`确保了EL表达式的解析。 **JSTL的其他模块** 除了核心模块,JSTL还包括XML模块(`jstl/xml.jar`)和国际化的fmt模块(`jstl/fmt.jar`)。XML模块...
- **isELIgnored**: 控制是否忽略EL表达式,默认为`false`,表示启用EL表达式的解析。 - **session**: 控制当前页面是否可以使用`session`对象,默认为`true`。如果设置为`false`,则当前页面不能访问`session`对象...
i<=9;i++){ %> <tr> <% for(int j=1;j<=i;j++){ %> <td><%=j+"x"+i+"="+i*j %></td> <% } %> </tr> <% } %> </table> </body> </html> ``` #### 五、JSP动作标签详解 JSP动作标签是在请求处理阶段按照出现...
<%@page isELIgnored="false" %> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ``` 这里`isELIgnored`属性设置为`false`是为了启用表达式语言(Expression Language, EL),这使得可以在JSP...
<%@ page isELIgnored="false" %> <c:set var="account" value="${Bank.getAccount('123456')}"/> 账号:${account.accountNo} 余额:${account.balance} ``` 这里,`<c:set>`标签用于设置一个变量,`${Bank....
- 利用JSP 2.0的页面指令,如`<%@page isELIgnored="false"%>`,确保EL的全局启用。 - 使用自定义标签库(Tag Libraries)来封装复杂逻辑,提升代码复用。 综上所述,"JSP 2.0技术手册"可能涵盖了这些重要概念,...
<%@ page isELIgnored="false" %> <!-- 如果使用的是Tomcat服务器,由于默认不支持EL表达式,需要设置isELIgnored属性 --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <%@ page contentType=...
EL 有两种方法:第一种在 web.xml 中作如下配置<jsp-config><jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>true</el-ignored></jsp-config>第二种,在 jsp 中增加指令<%@ page isELIgnored =...
例如,`<%@ page isELIgnored="false" %>`可以开启EL表达式的支持,使得EL成为默认的数据输出方式。 ### 4. **内置对象的增强** JSP 2.0对内置对象进行了改进,如`pageContext`对象增加了更多的方法,使得开发者能...
- `isELIgnored`:是否忽略EL表达式,默认为false。 - `pageEncoding`:指定JSP页面编码。 2. `<%@ include file="" %>` 用于包含静态文件,例如HTML页面或JSP页面。 3. `<%@ taglib %>` 用于引入自定义标签库...
- **EL忽略设置**:使用 `<%@page isELIgnored="true"%>` 可以控制是否启用EL表达式,默认为开启状态。 - **运算符**:EL支持多种运算符,包括算术运算符、关系运算符和逻辑运算符。 ##### 2. EL表达式的运算符 - ...
- **页面指令的简化,如`<%@ page isELIgnored="false" %>`自动启用EL。** - **引入了自定义标签,允许开发人员创建自己的可重用组件。 8. **最佳实践** - **分离关注点:将设计(HTML/CSS)与逻辑(Java)分开...
<%@ page isELIgnored="false" %> ``` 如果isELIgnored属性设置为"true",则JSP中的EL表达式将不会被解析,而是以字符串形式出现;设置为"false"时,则EL表达式会被正确解析。需要注意的是,JSP 2.0规范中,默认...