Выражение JSF в другом выражении - PullRequest
1 голос
/ 16 ноября 2011

Я пытаюсь написать выражение на языке унифицированных выражений в JSF, в котором говорится, что, если изображение не пустое, в противном случае используйте его по умолчанию.

#{not empty image ? image : #{bean.directory}image.jpg}

Проблема по умолчанию, к которой можно получить доступ, только вызвав определенную функцию "#{bean.directory}" для получения каталога. Я получаю ERROR PARSING.

Есть идеи, как решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 16 ноября 2011

Я не знаю простой способ объединения строк в EL, поэтому этот фрагмент несколько неуклюжий, но должен работать (я предполагаю, что image - это какая-то переменная с полным именем файла, в то время как 'image.jpg' - это имя файла по умолчанию искать в bean.directory):

#{empty image ? bean.directory : image}#{empty image ? 'image.jpg' : ''}
1 голос
/ 16 ноября 2011

Ваша ошибка в том, что вы вкладываете выражения.

<NEW_EL1>not empty image ? image : <NEW_EL2>bean.directory</END_EL2>image.jpg</END_EL2>

Это не поддерживается.

Связано с вашим выражением:

#{empty image ? bean.directory : image}#{empty image ? 'image.jpg'}

Другой пример:

#{((fooBean.random % 4) == 0 ? 'completely divisible by 4' : 'not completely divisible by 4'}
...