Java Spring Framework,什么是最佳实践,用于在JSP页面中填充面包屑的XML文件或Bean

时间:2016-09-26 20:58:21

标签: java xml spring jsp spring-mvc

我是Java和JSP的新手。我已经找到了关于这个主题的信息,但有些已经过时了,所以我希望得到更新的回复。

我的想法是设置一个如下所示的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是最佳选择还是有更好的解决方案?

1 个答案:

答案 0 :(得分: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;

 }