2015-08-17 2 views
0

Я все еще новичок в Javascript, пробовал ухаживать и пробовал инструмент разработки в Chrome, также вижу, могу ли я найти проблему.Ожидаемое выражение javascript

Работа в 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-методом с возвратным значением boolean. ошибка появляется при наведении

'# {'

если бы взглянуть на следующие вопросы, перед тем: Expected Expression boolean in an if statement

Но не получил мне решение. что Iam я делаю неправильно?

+1

Почему вы пытаетесь смешивать java и javascript? showTargetLine не ударяет меня как имя метода, которое возвращает boolean, btw – Stultuske

+1

'#' не является правильным кодом JavaScript, поэтому условие if не может быть выполнено. – cezar

+0

Также, если вам нужно логическое значение, вам нужно сделать некоторое сравнение или вызвать метод, возвращающий логическое значение. Кубические фигурные скобки используются в JavaScript для обозначения литерала объекта. В вашем случае if они не используются должным образом. Предполагая, что 'showTargetLine' является методом, соответствующая строка должна быть' if (trendAnalysisLocationReportController.model.showTargetLIne()) {// condition body} '. – cezar

ответ

1

Похоже, что проблема заключается в той части, что у вас есть в блоке # {...}. Не зная контекста, трудно быть уверенным, но является ли это что-то на странице view/JSP, которая должна быть заменена свойством во время выполнения? Блок if ожидает, что часть внутри скобок будет логическим значением, поэтому, если это отображается как «истина» или «ложь», она будет выполняться во время выполнения, но, скорее всего, отобразит ошибку, которую вы видите в своей среде IDE, фактически действительный фрагмент JavaScript. Если, с другой стороны, вы ожидаете, что сможете вызвать свой Java-метод/свойство из вашего кода JavaScript, вам нужно будет сделать что-то, что запрашивает это значение из серверного кода - AJAX или аналогичного.

Также стоит отметить, что мы не можем видеть, что должно представлять this.cfg. Если это ваш весь блок сценариев, то нет ничего, что определяло бы объект cfg в текущей области.

Последнее, что вы должны изменить конечный элемент < \ script>, поскольку некоторые браузеры не будут правильно поняты.

+0

Вы находитесь там, я хочу, чтобы он заменял свойство во время выполнения. Значит, это сообщение об ошибке, которое показано в IDEA, потому что оно не может показать, что это будет временем выполнения? – Jesper

+2

Поверьте, да. Лучшая ставка - это скомпилировать, запустить и проверить ее, но, похоже, так. Я не большой пользователь IDEA, но я сделал подобное в ASP.NET и Visual Studio и видел то же самое. Прекрасно работает, но IDE вызывает предупреждения или ошибки, потому что перед проверкой JS не производится оценка динамической части страницы. –

Смежные вопросы