Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The representation of if-elseif-else in EL using JSF

Tags:

jsf

el

The following JSF code contains two separate <c:if></c:if>. Let's look at it.

<?xml version='1.0' encoding='UTF-8' ?> <html xmlns="http://www.w3.org/1999/xhtml"       xmlns:h="http://java.sun.com/jsf/html"       xmlns:c="http://java.sun.com/jsp/jstl/core">     <h:head>         <title>JSF EL</title>     </h:head>     <h:body>         <h:form>              <c:set scope="request" var="row" property="x" value="10"/>              <c:if test="#{row==10}">                 <h:outputLabel value="value = 10"/>             </c:if>              <c:if test="#{row==15}">                 <h:outputLabel value="value = 15"/>             </c:if>          </h:form>     </h:body> </html> 

It simply displays value=10 on the JSF page at run time. I need to represent the above same <c:if></c:if> with the following if-elseif-else (Java context).

if(row.equals(10)) {     //Do something...(JSF stuff) } else if(row.equals(15)) {     //Do something...(JSF stuff) } else {     //Do something...(JSF stuff) } 

How can it be represented with Expression Language (EL) using JSF?

like image 212
Lion Avatar asked Nov 14 '11 16:11

Lion


People also ask

What is El in JSF?

Expression Language (EL), is a scripting language that's seen adoption within many Java frameworks, such as Spring with SpEL and JBoss with JBoss EL. In this article, we'll focus at the JSF's implementation of this scripting language – Unified EL.

How to write if condition using?

An if statement is written with the if keyword, followed by a condition in parentheses, with the code to be executed in between curly brackets. In short, it can be written as if () {} .


1 Answers

You can use EL if you want to work as IF:

<h:outputLabel value="#{row==10? '10' : '15'}"/> 

Changing styles or classes:

style="#{test eq testMB.test? 'font-weight:bold' : 'font-weight:normal'}"  class="#{test eq testMB.test? 'divRred' : 'divGreen'}" 
like image 171
Gustavo Ruiz Avatar answered Sep 24 '22 02:09

Gustavo Ruiz