Javascript 如何在作为JS变量赋值时处理空表达式或空表达式?

Javascript 如何在作为JS变量赋值时处理空表达式或空表达式?,javascript,jsf-2,el,Javascript,Jsf 2,El,我在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实现。您可以在表达

我在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实现。

您可以在表达式中执行空检查:

#{empty obj1.step ? 'something else' : obj1.step}

empty关键字包含null和空字符串。

您可以使用临时数组:

cur_step = [#{obj1.step}][0];
谢谢我将其编码为#{obj1.step==未定义?'something other':obj1.step}