2012-06-12 2 views
2
에서 null이

나는 스프링 ZK를 통합하기 위해 노력하고있어,하지만 어떻게 든 내가 봄 인스턴스 그 서비스/개체를 관리 할 수 ​​없습니다 : S서비스가 봄 컨트롤러 + ZK

컨트롤러, ProductTypecontroller에게 :

@Controller 
    public class ProductTypeController extends SelectorComposer { 

     @Resource 
     private ProductTypeService productTypeService; 

     @Listen("onCreate = listbox#typeList") 
     public void loadAll() { 
      BindingListModelList model = new BindingListModelList(productTypeService.getAll(), false); 
      typeList.setItemRenderer(new ProductTypeListRenderer()); 
      typeList.setModel(model); 
     } 

     public void loadAll2(Listbox lb){ 
     List lista = productTypeService.getAll(); 
     BindingListModelList model = new BindingListModelList(lista, false); 
     lb.setItemRenderer(new ProductTypeListRenderer()); 
     lb.setModel(model);    
    } 

    } 
productTypeSerivce가 null 때문에

ZUL는

<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?> 
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?> 
<zk> 
    <hlayout> 
    <div id="winDiv" apply="com.iknition.micutecake.controller.ProductTypeController"> 
     <vbox> 
      <listbox id="typeList" width="450px" height="300px" > 
       <listhead> 
        <listheader width="50px" label="id" sort="auto(id)" /> 
        <listheader width="250px" label="name" sort="auto(name)" /> 
        <listheader width="140px" label="description" sort="auto(description)" /> 
       </listhead> 
      </listbox> 
     </vbox> 
    </div> 
     </hlayout> 
</zk> 

나는 NullPointerException이 얻을. 내가 .zul 의 목록 상자 라인에 onCreate="loadAll2(self);"을 추가하는 경우

그러나, 그것은 그런 식의 방법 loadAll2(Listbox lb)를 호출, productTypeService는 null가 아니고, 모든 것이 잘 작동합니다.

이유가 무엇입니까? 또는 어떻게 작동 시키는가?

답변

1

답변을 찾았습니다.

그냥 함께

<div id="winDiv" apply="com.iknition.micutecake.controller.ProductTypeController"> 

를 교체해야

<div id="winDiv" apply="${productTypeController}"> 

그래서는 결국 컨트롤러를 해결하기 위해 스프링 해결을 사용합니다