预期的javascript表达式

时间:2015-08-17 07:58:41

标签: javascript intellij-idea

我仍然是一个Javascript尝试过的新手,并在Chrome中尝试了开发工具,看看我是否能找到问题。

使用Intellij IDEA 13,Java,javascript和xhtml。

我的问题是我有一段javascript,然后在IDEA中被鼠标滑过时说,

  

表达式预期

javascript代码如下所示

<script type="text/javascript>    
    function nameOfFunction(){
        if(#{trendAnalysisLocationReportController.model.showTargetLine}){
             this.cfg.series[this.cfg.data.length-1].pointLabels = {
                show: false
             };
        }
    }
<\script>  

if语句中的方法是一个带有布尔返回值的java方法。 悬停时显示错误

  

'#{'

如果看过以下问题,请: Expected Expression boolean in an if statement

但是没有给我一个解决方案。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

看起来好像问题是你在#{...}块中得到的部分。在不知道上下文的情况下,很难确定,但这是在视图/ JSP页面中应该在运行时被属性替换的东西吗? if块将期望括号内的部分是一个布尔值,所以如果它被渲染为“真”&#39;或者&#39; false&#39;它会在运行时执行,但可能会显示您在IDE中看到的错误,因为它实际上并不是一个有效的JavaScript。另一方面,如果您希望能够从JavaScript代码调用Java方法/属性,那么您将需要执行从服务器端代码请求该值的操作 - AJAX或类似的。

另外值得注意的是,我们无法看到this.cfg应该代表什么。如果这是您的整个脚本块,那么在当前范围内没有任何定义cfg对象的内容。

最后一件事,你应该改变&lt; \ script&gt;因为某些浏览器无法正确理解它的结束元素。