美文网首页
Spring EL ternary operator (if-t

Spring EL ternary operator (if-t

作者: lovePython | 来源:发表于2015-08-21 04:24 被阅读44次

    Spring EL supports ternary operator , perform “if then else” conditional checking. For example,

    condition ? true : false
    

    Spring EL in Annotation

    Spring EL ternary operator with @Value annotation. In this example, if “itemBean.qtyOnHand” is less than 100, then set “customerBean.warning” to true, else set it to false.

    package com.mkyong.core;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    
    @Component("customerBean")
    public class Customer { 
        @Value("#{itemBean.qtyOnHand < 100 ? true : false}") 
        private boolean warning; 
        public boolean isWarning() { 
            return warning; 
        } 
        public void setWarning(boolean warning) { 
            this.warning = warning; 
        } 
    
        @Override 
         public String toString() { 
             return "Customer [warning=" + warning + "]"; 
        }
    }
    
    package com.mkyong.core;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;
    @Component("itemBean")
    public class Item { 
        @Value("99") 
        private int qtyOnHand; 
        public int getQtyOnHand() { 
            return qtyOnHand; 
        } 
        public void setQtyOnHand(int qtyOnHand) { 
             this.qtyOnHand = qtyOnHand; 
        }
    }
    

    Output

    Customer [warning=true]
    

    Spring EL in XML
    See equivalent version in bean definition XML file.

    <beans xmlns="http://www.springframework.org/schema/beans" 
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                 xsi:schemaLocation="http://www.springframework.org/schema/beans    
                                                    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
        <bean id="customerBean" class="com.mkyong.core.Customer"> 
            <property name="warning" value="#{itemBean.qtyOnHand < 100 ? true : false}" /> 
        </bean> 
    
        <bean id="itemBean" class="com.mkyong.core.Item"> 
            <property name="qtyOnHand" value="99" /> 
        </bean> 
    </beans>
    

    Output

    Customer [warning=true]
    

    In XML, you need to replace less than operator "<" with "<".

    相关文章

      网友评论

          本文标题:Spring EL ternary operator (if-t

          本文链接:https://www.haomeiwen.com/subject/afygqttx.html