首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JSTL字符串比较总是返回false

JSTL(JavaServer Pages Standard Tag Library)是一种用于在JSP页面中进行逻辑处理和数据展示的标签库。在JSTL中,字符串比较操作可以使用<c:if>标签的"test"属性来实现。

对于JSTL字符串比较总是返回false的问题,可能有以下几个原因:

  1. 字符串比较的语法错误:在JSTL中,字符串比较使用的是EL表达式(Expression Language),需要使用双等号(==)进行比较。如果使用了单等号(=)进行比较,会导致比较结果始终为false。正确的写法应该是:<c:if test="${string1 == string2}">。
  2. 字符串比较的数据类型错误:在JSTL中,字符串比较是严格区分大小写的。如果比较的两个字符串的大小写不一致,比较结果将会返回false。例如,"Hello"和"hello"是不相等的。如果需要忽略大小写进行比较,可以使用JSTL提供的函数库中的函数进行转换,例如:<c:if test="${fn:toLowerCase(string1) == fn:toLowerCase(string2)}">。
  3. 字符串比较的编码问题:在JSTL中,字符串比较的结果可能受到编码的影响。如果比较的两个字符串的编码方式不同,比较结果可能会返回false。确保比较的字符串使用相同的编码方式可以解决这个问题。

综上所述,如果JSTL字符串比较总是返回false,可以检查比较语法是否正确,比较的字符串是否大小写一致,以及比较的字符串是否使用相同的编码方式。如果问题仍然存在,可以进一步检查JSTL的版本和配置是否正确。

腾讯云提供了云计算相关的产品和服务,例如云服务器、云数据库、云存储等。具体的产品介绍和相关链接地址可以在腾讯云官方网站上找到。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Effective STL(21) 永远让比较函数对相同元素返回false

    问题描述: 昨天一哥们些的程序,在定义比较函数的时候是这样写的 bool cmp(const T& a, const T& b) { if (a >= b) return...true; return false; } 在内部测试时,一直表现挺好,也没挂。...原因分析: stl:sort 排序 如果数据过多 才会用快速排序 所有数据进行与中间值比较的时候是无边界保护的, 当我们的容器里面所有值都相等,而comp()函数对相等返回true的时候,在进行快速排序的时候...++first 可能越界 解决办法: bool cmp(const T& a, const T& b) { if (a > b) return true; return false...; } effective stl 第21条:总是比较函数在等值情况下返回false 扩展问题: Q 在多线程和高并发环境下,如果有一个平均运行一百万次才出现一次的bug, 你如何调试这个

    1.7K90

    复习 EL 表达式与 JSTL

    对于页面设计人员来说,使用脚本语言操作动态数据是比较困难的,而采用标签和表达式语言则相对容易,JSTL 的使用为页面设计人员和程序开发人员的分工协作提供了便利。   ...fn:escapeXml() 跳过可以作为XML标记的字符 fn:indexOf() 返回指定字符串在输入字符串中出现的位置 fn:join() 将数组中的元素合成一个字符串然后输出 fn:length...() 返回字符串长度 fn:replace() 将输入字符串中指定的位置替换为指定的字符串然后返回 fn:split() 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 fn:startsWith...() 测试输入字符串是否以指定的前缀开始 fn:substring() 返回字符串的子集 fn:substringAfter() 返回字符串在指定子串之后的子集 fn:substringBefore()...返回字符串在指定子串之前的子集 fn:toLowerCase() 将字符串中的字符转为小写 fn:toUpperCase() 将字符串中的字符转为大写 fn:trim() 移除首尾的空白符

    1.1K20

    初学Java Web(6)——JSP学习总结

    ${对象.属性名} :通常使用这种方式,属性名比较规范 2....,空集合),返回 true / false ---- JSTL 作用:消除 JSP 中的 Java 代码 在 JSP 中使用 JSTL 的步骤: 1.引入入jar包:在 Tomcat 中的实例项目 examples...() 返回字符串长度 fn:replace() 将输入字符串中指定的位置替换为指定的字符串然后返回 fn:split() 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 fn:startsWith...() 测试输入字符串是否以指定的前缀开始 fn:substring() 返回字符串的子集 fn:substringAfter() 返回字符串在指定子串之后的子集 fn:substringBefore()...返回字符串在指定子串之前的子集 fn:toLowerCase() 将字符串中的字符转为小写 fn:toUpperCase() 将字符串中的字符转为大写 fn:trim() 移除首位的空白符 JSTL

    2K70

    jsp中的JSTL与EL表达式用法及区别(一)

    EL基本格式 EL表达式的格式:用美元符号($)定界,内容包括在花括号({})中; 例如: ${loginInfoBean.suser} 此外,您可以将多个表达式与静态文本组合在一起以通过字符串并置来构造动态属性值...userBean[“suser”]} //获取输出bean中的suser属性值; ${mcType[“id”]} //获取map中key为id对应的值; EL运算符 运算符允许对数据和文字进行组合以及比较...empty 运算符采用单个表达式作为其变量(也即,${empty input}),并返回一个布尔值,该布尔值表示对表达式求值的结果是不是“空”值。...如果参数是对长度为零的String 求值所得的结果,则 empty 运算符也将返回 true。 EL文字 文字表示固定的值 — 数字、字符、字符串、布尔型或空值。...在 EL 表达式中,数字、字符串、布尔值和 null 都可以被指定为文字值。字符串可以用单引号或双引号定界。布尔值被指定为 true 和 false。 .下回具体解说下JSTL标签。

    1.7K50

    JSP 基础知识

    otherwise>的父标签 的子标签,用来判断条件是否成立 的子标签,接在标签后,当标签判断为false...="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 函数 描述 fn:contains() 测试输入的字符串是否包含指定的子串...XML标记的字符 fn:indexOf() 返回指定字符串在输入字符串中出现的位置 fn:join() 将数组中的元素合成一个字符串然后输出 fn:length() 返回字符串长度 fn:replace...() 将输入字符串中指定的位置替换为指定的字符串然后返回 fn:split() 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 fn:startsWith() 测试输入字符串是否以指定的前缀开始...fn:substring() 返回字符串的子集 fn:substringAfter() 返回字符串在指定子串之后的子集 fn:substringBefore() 返回字符串在指定子串之前的子集 fn:

    73740

    JSP 基础知识

    otherwise>的父标签 的子标签,用来判断条件是否成立 的子标签,接在标签后,当标签判断为false...="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 函数 描述 fn:contains() 测试输入的字符串是否包含指定的子串...XML标记的字符 fn:indexOf() 返回指定字符串在输入字符串中出现的位置 fn:join() 将数组中的元素合成一个字符串然后输出 fn:length() 返回字符串长度 fn:replace...() 将输入字符串中指定的位置替换为指定的字符串然后返回 fn:split() 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 fn:startsWith() 测试输入字符串是否以指定的前缀开始...fn:substring() 返回字符串的子集 fn:substringAfter() 返回字符串在指定子串之后的子集 fn:substringBefore() 返回字符串在指定子串之前的子集 fn:

    83920

    【框架】128:springMVC最后一天

    其中利用for循环创建了10个User对象,再放入集合中作为返回值。 本来这里正确的流程是要去数据库查询数据的,不过比较麻烦,我们只是学Jstl标签这个知识点,用for循环做做假数据就好了。...三、转发及重定向 返回值为字符串时,默认为视图名称,比如“hello”即对应hello.jsp这个文件。...当返回字符串是以”forward:”或者”redirect:”开头,则表示是转发或者重定向。 ? ①转发 forward:show21.do?...false表示被拦截,后续业务逻辑不再执行,但之前返回true的拦截器的完成方法会倒叙执行。 ②postHandle方法 postHandle调用Handler之后执行,称为后置方法。...当前置方法返回false时,请求被拦截,后续的拦截器以及处理器方法不再执行,但它前面请求没被拦截的拦截器的完成方法会倒续执行。 完成方法在视图渲染之后才去执行。

    56620

    Web前端基础知识整理

    java向js传输的是json格式的字符串,要转换成json对象才能被js使用 代码: str=eval(str);//str是传来的字符串,转换后变为json对象 eval()//函数:将字符串按照表达式的形式转换为对应的具体类型...//如果传来的是'1+1'放入eval函数会转换成数值进行计算返回结果 4....charset=UTF-8” pageEncoding=“UTF-8”%>//jsp抬头 在web容器部署运行时,首次运行jsp会将它翻译成类servlet源文件.java并编译.class 第一次jsp运行比较慢是因为要翻译成...语句 jstl fmt库:按指定形式格式化数值 使用: maven中添加jstl依赖库 在jsp页面上通过指令引入jstl对应类型库 在jsp中使用具体的标签 案例:...String str="你好"; request.setAttribute("xw", str); %> ${xw} <c:out value="${xw}" escapeXml="<em>false</em>

    1.9K10

    JSP与EL表达式重点学习笔记(2)

    true}或${not true} false ||或or 或者 ${true||false}或${true or false} true empty 是否为空 ${empty “”},可以判断字符串、...数据、集合的长度是否为0,为0返回true。...注意,在使用EL获取参数时,如果参数不存在,返回的是空字符串,而不是null。这一点与使用request.getParameter()方法是不同的。...JSTL明天再学! EL函数库就是定义一些有返回值的静态方法。然后通过EL语言来调用它们!当然,不只是JSTL可以定义EL函数库,我们也可以自定义EL函数库。...EL函数库中包含了很多对字符串的操作方法,以及对集合对象的操作。例如:${fn:length(“abc”)}会输出3,即字符串的长度。 2 导入函数库 因为是第三方的东西,所以需要导入。

    66740
    领券