2016-12-05 17 views
0

我想將此Spring bean列表轉換爲Java配置。但我想我很困惑如何做參考作爲三元或條件。轉換帶有Java配置的三元參考的Spring xml列表

<bean id="footerauroraDesktop" class="com.demolight.crawler.elements.PageComponent" 
     lazy-init="true"> 
    <property name="name" value="navigation"/> 
    <property name="elements"> 
     <list> 
      <ref bean="continueSessionFromHome"/> 
      <ref bean="#{ flag ? 'contactUs' : 'corporateContact' }"/> 
      <ref bean="#{ flag ? 'privacyPolicy' : 'returnPolicy' }"/> 
      <ref bean="#{ flag ? 'getHelp' : 'aboutUs' }"/> 
      <ref bean="#{ flag ? 'siteMap' : 'aboutUs' }"/> 
     </list> 
    </property> 
</bean> 
+1

你爲什麼不只是創建列表編程? –

回答

1

你可以做這樣的事情:

@Configuration 
public class AppConfig { 
    @Bean 
    public PageComponent footerauroraDesktop(){ 
     PageComponent page = new PageComponent(); 
     page.setName("navigation"); 
     boolean flag = false; //you should init this here 
     List<String> list = new ArrayList<String>(5); 
     list.add("continueSessionFromHome"); 
     if(flag){ 
      list.add("contactUs"); 
      list.add("privacyPolicy"); 
      list.add("getHelp"); 
      list.add("siteMap"); 
     } else { 
      list.add("corporateContact"); 
      list.add("returnPolicy"); 
      list.add("aboutUs"); 
      list.add("aboutUs"); 
     } 
     page.setElements(list); 
     return page; 
    } 
}