2016-05-27 13 views
0

Как я увижу таблицу на странице, есть определенные элементы, которые не имеют значения. Но элементы, которые имеют значение, образуют ссылку на другую страницу. Сейчас он ничего не показывает, не имеет значения или нет.Render link when not null

Я новичок в Java и не понимаю, что я написал неправильно в своем коде.

Вот мой код:

<h:link outcome="schoolclass-detail" value="#{la.participant.schoolclass.classname}" rendered="{!la.participant.schoolclass.classname==null}"> 
         <f:param name="schoolclassId" value="#{la.participant.schoolclass.id}" /> 
       </h:link> 

Спасибо за всю помощь заранее!

ответ

2

Предполагая, что вы используете JSF, «la» - это ваш бэк-бэк, и вы хотите отобразить свою ссылку, если переменная «classname» не равна null, я бы предложил использовать выражения EL, а не сырые java-выражения.

Вы можете прочитать больше о EL here

выражение вашего примера

rendered="{!la.participant.schoolclass.classname==null}"

мог смотреть в EL как

rendered="#{not (la.participant.schoolclass.classname eq null)}" 

или

rendered="#{la.participant.schoolclass.classname ne null}" 

или, возможно, лучше

rendered="#{not (empty la.participant.schoolclass.classname)}" 

not очевидно инвертирует следующее выражение

The eq стенды для равных и для этого равно Java object1.equals(object2);, или в случае примитивных типов, таких как логическое obj1 == obj2;

ne означает не равно. Вы можете догадаться, что он делает ...

empty оценивает следующее выражение, чтобы быть в определенном состоянии пустого покровного материала как нуль, пустая строка («») или массив или список, без содержания

Также Важным является # перед заявлением, которое вы, похоже, забыли в своем примере. Если вы забудете об этом, значение вашего атрибута rendered рассматривается как строка, а не какое-то выражение, которое должно оцениваться JSF. Я думаю, что это главная причина ваш пример не работать, так как ваше выражение в основном правильно

С наилучшими пожеланиями

J.Adam

+0

Спасибо, я использовал последний пример, и я получил результат я хотел , – MrKrantz