ifforce中的if-else条件块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ifforce中的if-else条件块相关的知识,希望对你有一定的参考价值。

我用过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页面中缺少这种页面块准备。

答案

我发现我们可以对任何块使用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....
另一答案

与此处的其他答案相同的概念,但您可以使用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>
另一答案

在visualforce中,您可以使用一些逻辑运算符和函数。 Explanation here

您需要“逻辑函数”列表,您提供的相同代码,在VF中必须如下所示:

{!IF(salary<=0, "Salary is very low to survive.", "No comment sir")} 
另一答案

你需要将逻辑放在控制器中(大多数人都认为它属于任何地方)。您的VF看起来像:

<table border="0" width="150" height="50" bgcolor="{!bgColorVar}">

在您的控制器中,在getter中定义您的逻辑:

public string bgColorVar{
    get{ 
        //logic
    }
    set;
}

以上是关于ifforce中的if-else条件块的主要内容,如果未能解决你的问题,请参考以下文章

条件判断语句(if-else)

IT兄弟连 Java语法教程 流程控制语句 分支结构语句2

java中的分支

Vue-if 条件不起作用。 if-Else 块似乎被跳过

二.if-else选择结构

C# 之 if-else代码优化