EL表达式 三目运算符在不同版本Tomcat中的表现

来源:互联网 发布:操作系统书籍推荐 知乎 编辑:程序博客网 时间:2024/06/05 13:29
     我在JSP页面中使用了EL表达 式${param.ftablename==nullexamField.ftabblename:param.ftablename},自己测试没有错 误,放到同事机器上就报错(上面的错误),说我的写的不对,没见过EL表达式里使用三目运算符的,非得让我换成其他的判断形式,换就换,反正程序咋写都一 样,有时间了自己查原因。 
    问题不好查,一样的代码只是放到不同的机器上了,后来发现我用的Tomcat5.5版本,同事的是Tomcat6.0版本,开始以为是Tomcat6.0 的一个bug或是不再支持那样的写法,后来通过规范代码,在运算符与表达式之间加空格,改为<c:out value="${param.ftableid==null ? examField.ftableid : param.ftableid}"></c:out>,就不报错了,正常运行。 

    看来不是Tomcat6.0的bug,还是自己代码写的不规范,标准的三位运算表达式Expression1 ? Expression2 :Expression3,每个表达式和运算符之间,都有一个空格,否则Tomcat6.0是无法识别的。有点像Python的行为强制程序员写规范代 码。
0 0
原创粉丝点击