我曾经使用过c:if,c:当jsp中的JSTL标签时。但我不知道是否有任何类似的可视力页面。例如,我正在为jsp提供示例代码。 -
<h1>A Demo conditional section code</h1>
<c:choose>
<c:when test="${param.colorField == 'red'}">
<table border="0" width="150" height="50" bgcolor="#ff0000">
<tr><td>It is red</td></tr>
</table>
</c:when>
<c:when test="${param.colorField == 'blue'}">
<table border="0" width="150" height="50" bgcolor="#0000ff">
<tr><td>It is blue</td></tr>
</table>
</c:when>
<c:when test="${param.colorField == 'green'}">
<table border="0" width="150" height="50" bgcolor="#00ff00">
<tr><td>Green table</td></tr>
</table>
</c:when>
<c:otherwise>
<table border="0" width="150" height="50" bgcolor="#000000">
<tr><td>No colour changed</td></tr>
</table>
</c:otherwise>
</c:choose>
<br/>
and other codes....
我在vf页面中缺少这种页面块准备。
答案 0 :(得分:6)
我发现我们可以对任何块使用outputpanel(<apex:outputpanel>
)并使用rendered
属性来处理加载它的条件。
<h1>A Demo conditional section code</h1>
<apex:outputpanel rendered="{!param.colorField == 'red'}">
<table border="0" width="150" height="50" bgcolor="#ff0000">
<tr><td>It is red</td></tr>
</table>
</apex:outputpanel>
<apex:outputpanel rendered="{!param.colorField == 'blue'}">
<table border="0" width="150" height="50" bgcolor="#0000ff">
<tr><td>It is blue</td></tr>
</table>
</apex:outputpanel>
:
:
and other codes....
答案 1 :(得分:4)
与此处的其他答案相同的概念,但您可以使用PageBlock上的呈现属性来呈现该块:
<apex:pageBlock rendered="{!object.Color == 'red'}">
it is red
</apex:pageBlock>
<apex:pageBlock rendered="{!object.Color == 'blue'}">
it is blue
</apex:pageBlock>
<apex:pageBlock rendered="{!object.Color == 'green'}">
it is green
</apex:pageBlock>
答案 2 :(得分:1)
在visualforce中,您可以使用一些逻辑运算符和函数。 Explanation here
你需要&#34;逻辑功能&#34;列表,您提供的相同代码,在VF中必须如下所示:
{!IF(salary<=0, "Salary is very low to survive.", "No comment sir")}
答案 3 :(得分:0)
你需要将逻辑放在控制器中(大多数人都认为它属于任何地方)。您的VF看起来像:
<table border="0" width="150" height="50" bgcolor="{!bgColorVar}">
在你的控制器中,在getter中定义你的逻辑:
public string bgColorVar{
get{
//logic
}
set;
}