Могу ли я использовать выражения el в функциях js, которые находятся на странице jsp? Я пытался это сделать, но компилятор jsp всегда жаловался, что здесь нельзя использовать символ ==:

function somefunction() {
  var booleanExpression = '${myBean.a == -1}';
  ....
}

myBean - это атрибут области запроса, имеющий целочисленное свойство a. Я также пытался использовать eq вместо ==, но ошибка осталась той же, и это странно.

Я хочу, чтобы мой boleanExpression был true или false в результате.

2
maks 2 Авг 2013 в 02:06
Если «a» действительно является целочисленным свойством, то EL не выдаст синтаксической ошибки. Вы должны опубликовать точное сообщение об ошибке (исключение), которое вы получаете. В общем, JSP абсолютно не знает , идет ли вывод в JavaScript или HTML, или что-нибудь еще в этом отношении. У него нет возможности узнать, и ему все равно.
 – 
Pointy
2 Авг 2013 в 02:12

1 ответ

Лучший ответ

Оставьте цитаты.

var booleanExpression = ${myBean.a == -1};

JSP выгружает либо true, либо false, с любым из которых JavaScript будет совершенно счастлив.

2
Pointy 2 Авг 2013 в 02:10
Сначала я пробовал без кавычек, но когда получил эту ошибку, заключил это выражение в кавычки
 – 
maks
2 Авг 2013 в 02:34
Опубликуйте сообщение об ошибке; в этом синтаксисе нет ничего плохого.
 – 
Pointy
2 Авг 2013 в 02:37
Я непреднамеренно нажал format на этом jsp в IDE, и он отформатировал эту строку как 2, поэтому вторая строка начинается с символа ==, но выражения EL, похоже, не могут быть многострочными. Проблема решена.
 – 
maks
2 Авг 2013 в 19:26
Какую среду IDE вы используете?
 – 
Steven Benitez
4 Авг 2013 в 07:51