我在javascript代码中使用EL表达式,如下所示:
cur_step = #{obj1.step};
当obj1.step中实际上有一个值时,这很好。但是,如果没有值或为null,javascript在浏览器中的呈现方式如下:
cur_step = ;
这导致javascript错误,根本无法执行我的javascript。
如何解决此问题?
obj1对象是一个在服务器上填充的java bean。仅供参考,我使用JSF2.1和jboss-el-2.0.jar作为我的el实现。
您可以在表达式中进行null检查:
#{empty obj1.step ? 'something else' : obj1.step}
empty关键字包含null和空字符串。
您可以使用一个临时数组:
cur_step = [#{obj1.step}][0];