0

I am trying to use a c:if statement inside a ui:repeat tag. However U cannot get the value of course.days while inside the if tag. It just always evaluates to empty.

    <div id="schedule_wrapper">
        <ui:repeat value="#{schedule.courses}" var="course">                
            <div class="course">
                <b>#{course.shortTitle}</b> : #{course.subjectCode} #{course.courseNumber}-#{course.section}<br /> 
                #{course.roomCode} #{course.buildingName} <br />
                <c:if test="${not empty course.days}">
                    #{course.days} : #{course.startTime} - #{course.endTime}
                </c:if>                                         
            </div>
        </ui:repeat>
    </div>

Any ideas how I can use the course.days variable inside the if statement?
Or an alternate way to achieve the same thing...
All of the other course.xxxxx value as pulling their values in.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
Baxter
  • 5,633
  • 24
  • 69
  • 105

2 Answers2

2

Try to use inside your using a rendered to check your condition. rendered="#{not empty course.days}" or #{course.days > 0} if days is a Integer

<div id="schedule_wrapper">
    <ui:repeat value="#{schedule.courses}" var="course">                
        <div class="course">
            <b>#{course.shortTitle}</b> : #{course.subjectCode} #{course.courseNumber}-#{course.section}<br /> 
            #{course.roomCode} #{course.buildingName} <br />
            **<ui:fragment rendered="#{not empty course.days}">
                #{course.days} : #{course.startTime} - #{course.endTime}
            </ui:fragment>**                                        
        </div>
    </ui:repeat>
</div>
Mithrandir Ben
  • 181
  • 1
  • 7
0

I found an alternate way to achieve this. Instead of:

<c:if test="${not empty course.days}">
    #{course.days} : #{course.startTime} - #{course.endTime}
</c:if> 

I used:

<h:panelGroup rendered="#{not empty course.days}">
    #{course.days} : #{course.startTime} - #{course.endTime}
</h:panelGroup>

I am still interested if this is possible with an if statement.

Baxter
  • 5,633
  • 24
  • 69
  • 105