2016-09-26 55 views
0

我是Java和JSP的新手。我找到了關於這個主題的信息,但有些是相當過時的,所以我希望能得到更多的迴應。Java Spring框架,用於在JSP中填充麪包屑的XML文件或Bean的最佳實踐是什麼?

我的想法是建立一個如下所示的XML文件,並根據name屬性獲取該面包屑的信息。

<root> 
     <view name="x"> 
      <crumb> 
       <value1></value1> 
       <value2></value2> 
      </crumb> 
      <crumb> 
       <value1></value1> 
       <value2></value2> 
      </crumb> 
    </view> 
    <view name="y"> 
      <crumb> 
       <value1></value1> 
       <value2></value2> 
      </crumb> 
      <crumb> 
       <value1></value1> 
       <value2></value2> 
      </crumb> 
     </view> 
</root> 

Spring BeanFactory是最好的選擇還是有更好的解決方案?

回答

0

在嘗試了bean.xml文件的各種配置後,我已經找到了適合我需求的解決方案。我分享這個決議,希望它可以幫助有類似需求的人。如果有人認識到服務器資源或頁面緩慢服務的原因,並且知道更好的方法,請分享。

我配置像這樣的beans.xml:

<?xml version="1.0" encoding="UTF-8"?> 

<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="viewName" class="com.mycompany.beans.BreadCrumbs"> 
     <property name="crumbList"> 
      <list> 
       <value>Home</value> 
       <value>Admin</value> 
      </list> 
     </property> 
    </bean> 

    <bean id="Home" class="com.mycompany.beans.BreadCrumbs"> 
     <property name="prop1" value="value1"/> 
     <property name="prop2" value="value2"/> 
    </bean> 

    <bean id="Admin" class="com.mycompany.beans.BreadCrumbs"> 
     <property name="prop1" value="value1"/> 
     <property name="prop2" value="value2"/> 
    </bean> 

該解析bean.xml是如下的類方法。

public String crumb(String viewName){ 

    ApplicationContext appContext = new ClassPathXmlApplicationContext("breadCrumb.xml"); 
    BreadCrumbs crumbListObj = (BreadCrumbs) appContext.getBean(viewName); 

    List y = crumbListObj.getCrumbList(); 
    String x=""; 

    for (int i=0; i < y.size(); i++){ 

     BreadCrumbs crumbpropsObj = (BreadCrumbs) appContext.getBean("" + y.get(i) + ""); 
     if (x.length() > 0){x += ",";} 
     x = x + "," + y.get(i) + "," + crumbpropsObj.getVaule1() + "," + crumbpropsObj.getValue2(); 

    } 

    return x; 

} 
相關問題