我有一个网站,上面显示了一些列表。现在,列表显示在两列中,即使只有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>
下面的内容不是更简单吗
<!-- 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>
找到了一个解决方案,也许它有时会帮助别人…无论如何,这是我的解决方案:
<!-- 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;
}
}