在ZUML 页面内访问 Spring Bean

在ZUML页面内有两种方式来访问基于Spring的bean。第一种方式是variable-resolver,另一种方式是SpringUtil。使用哪个要看你的习惯,在ZUML页面内,我们建议你使用variable-resolver

使用 variable-Resolver

在ZUML页面的顶部简单的为org.zkoss.zkplus.spring.DelegatingVariableResolver声明variable-resolver,然后,在下面的页面里,你可以使用bean的id来访问任何Spring-managed bean。

<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
  <window>
  <grid>
    <rows>
      <row forEach="${DataSource.elementsList}">
        <label value="${each}"/>
      </row>
    </rows>
  </grid>
 </window>

variable-resolver将会为你自动查找名字为DataSource的bean,然后返回一个list到forEach循环

使用 SpringUtil

org.zkoss.zkplus.spring.SpringUtil是一个实用类,它允许你使用简单的方式来获取 Spring-managed bean。

<window>
 <zscript>
 import org.zkoss.zkplus.spring.SpringUtil;
 import test.*;
 
 DataScource dataSource = SpringUtil.getBean("DataSource");
 List list = dataSource.getElementsList();
</zscript>
 
  <grid>
    <rows>
      <row forEach="${list}">
        <label value="${each}"/>
      </row>
    </rows>
  </grid>
 </window>
 

在这里forEach循环集合来打印集合内每个对象的${each}属性。