使用JSF中的If-Else语句

时间:2016-09-23 13:36:56

标签: jsf el

我有一个网站,其中显示了一些列表。 现在,列表显示在两列中,即使只有2或3个列表元素(看起来很愚蠢),但我希望只显示在一列中。

有没有办法用>添加if-else语句?和<经营者?

这就是我所做的,但不起作用:

<ui:if value="#{graphicDynamic.elements.size < 3}" var="hotspots" >
     ...do the one column thing...
</ui:if>
<ui:else>
    ..do the other thing...
</ui:else>

2 个答案:

答案 0 :(得分:1)

下面的内容不会更简单吗

<!-- Has more then 3 elements - display hotspots in two columns -->   
<h:outputLabel rendered="#{bean.value ge 3}" >           
     Render the site elements for this case
</h:outputLabel>            

<!-- Has less then or 3 elements - display hotspots in one column -->
<h:outputLabel rendered="#{bean.value le 3}" >           
     Render the site elements for this case
</h:outputLabel>

答案 1 :(得分:0)

有一个解决方案,也许它有时会对某人有所帮助......无论如何,这是我的解决方案:

<!-- Has more then 3 elements - display hotspots in two columns -->   
<h:outputLabel rendered="#{SomeClass.hasMoreThanThree}" >           
     Render the site elements for this case
</h:outputLabel>            

<!-- Has less then or 3 elements - display hotspots in one column -->
<h:outputLabel rendered="#{not SomeClass.hasMoreThanThree}" >           
     Render the site elements for this case
</h:outputLabel>

在控制器中:

public class SomeClass implements Serializable {

private boolean hasMoreThanThree; 

public SomeMethod(SomeType someParameter) {
    ...some code...
    setHasMoreThanThree(someList.size());
    ...some more code..
}

public boolean getHasMoreThanThree() {  
    return hasMoreThanThree;
}

public void setHasMoreThanThree(int size) {
    if (size >= 3){
    this.hasMoreThanThree=true;
    }
}