请问一个el表达式的问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 00:45:27
<c:if test="$(sessionScope.username=='system')" var="result" />

以上的EL表达式中,为何system是用单引号的?谢谢!

不是也是字符串吗?为何不用双引号?

字符串可以使用单引号和双引号,双引号里面的就使用单引号,假如你的system也使用双引号,那么系统会报告语法错误,系统会认为system前的双引号是前面=之后双引号的结束。

其实上面一位说的有点问题的,不是所有的语言字符串可以使用单引号和双引号的,比如说java语言严格来说,单引号就是字符,双引号括起来的就表示字符串,而javascript中单引号和双引号都表示字符串。而el表达式中表示字符串比较的话需要用单引号来表示字符串,如果使用双引号,比如说el表达式不在“”中这种情况下的话$(sessionScope.username=='system')对应这种情况,el表达式中双引号和单引号等效都表示字符串。但是要是放到双引号中时就说上面一位所说的,再用双引号不知道哪里结束就会报错。