关于The function equals must be used with a prefix when a default namespace is not specified解决

这个问题是典型的tomcat版本冲突:

在使用el表达式的时候, 要判断list 是否为空:${list.size() > 0},这种写法其实是不对的,但是在tomcat7中使用是OK的,但是在tomcat 6 以及之前的版本中是不支持的,所以当是tomcat6的时候,项目不会报错,但是运行时会报错。

解决方法也比较简答:用jstl的fn标签中的length方法

首先在jsp中引入 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

然后用${fn:length(list) > 0},这样的写法就兼容了。

再一个就是user.getName()这种也会报错。

时间: 2024-08-01 22:44:19

关于The function equals must be used with a prefix when a default namespace is not specified解决的相关文章

The function equals must be used with a prefix when a default namespace is not specified解决

用jstl调用java 方法报The function equals must be used with a prefix when a default namespace is not specified错误. 使用EL表达式是不能直接调用对象方法的!${pageScope.module_lie.id.equals(parent_ids) }这是直接调用了id的equals方法!这样是不行的! 用EL请注意,在EL中值是用“.”来导航的 ${pageScope.module_lie.id eq

J2EE 中 The function valueOf must be used with a prefix when a default namespace is not specified 错误

jsp页面中,JSTL El表达式字符串比较常用方法 fn:contains 判断字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}">fn:containsIgnoreCase 判断字符串是否包含另外一个字符串(大小写无关) <c:if test="${fn:containsIgnoreCase(name, searchString)}">fn:endsWith 判断字

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决

这是我们开启了bin-log, 我们就必须指定我们的函数是否是1 DETERMINISTIC 不确定的2 NO SQL 没有SQl语句,当然也不会修改数据3 READS SQL DATA 只是读取数据,当然也不会修改数据4 MODIFIES SQL DATA 要修改数据5 CONTAINS SQL 包含了SQL语句 其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持.如果我们开启了 bin-log, 我们就必须为我们的funct

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 错误解决办法

这是我们开启了bin-log, 我们就必须指定我们的函数是否是1 DETERMINISTIC 不确定的2 NO SQL 没有SQl语句,当然也不会修改数据3 READS SQL DATA 只是读取数据,当然也不会修改数据4 MODIFIES SQL DATA 要修改数据5 CONTAINS SQL 包含了SQL语句 其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持.如果我们开启了 bin-log, 我们就必须为我们的funct

The function getUserId must be used with...解决办法

The function getUserId must be used with a prefix when a default namespace is not specified 解决方法: 1.在正则表达式中${}调用不能调用方法,即不可以这样${oauser.getUserId()} ${u.getPostcode()}而是要这样${oauser.userId}要省略括号和get,也就是直接用模型里面的属性就可以了,才能正确运行 2.如果将含有此等标签的项目部署在tomcat6.0下就会

开发环境配置(netbeans+ant迁移到eclipse+maven)

新公司入职,接手一个离职人员的项目,拿到的源码是以一个压缩包,用netbeans开发,ant管理:前端:jsp+extjs,后端:springmvc+hibernate+activiti+spring: 开搞: 直接导入项目,发现不能识别: 看到源代码里边有build.xml,遂搜索: 按照<在Eclipse中通过build.xml导入工程>操作: 有些开源工程是用ant编译的,那么这时候有时可以通过导入工程中的build.xml来将工程导入到Eclipse中,步骤如下: 选择菜单File-&

自定义jstl标签库

自定义函数库: 1.定义类和方法(方法必须是public static)  2.编写自定义tld文件,并且将此文件放到WEB-INF或WEB-INF任意子目录下 3.在jsp中采用taglib指令引入自定义函数库 4.采用 前缀+冒号(:)+函数名 调用即可 MyFunctions.java 代码: [java] view plain copy public class MyFunctions { public static String sayHello(String name) { retu

自定义JSTL函数标签(一)

jstl标签库的配置 * 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar) 注意:jstl必须在能够支持j2ee1.4/servlet2.4/jsp2.0版本上的容器才能运行,这个环境       是目前较为常用的环境 标签库的使用 * 采用taglib指令引入 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

Java XML - JDOM2

Java XML - JDOM2 - Introduction (2014/9/28 22:10:49) What is JDOM JDOM is an in-memory XML model that can be used to read, write, create and modify XML Documents. JDOM is similar to DOM in that they both provide an in-memory XML document model, but w