2014-11-06 52 views
0

爲什麼會有不同的結果?jsp useBean spring實例null

  1. 是控制器代碼
  2. 是JSP:useBean的代碼(.TAG文件)

我知道由彈簧產生一個實例可用throughresource。

謝謝你的幫助。

1)控制器

@Controller 
    @RequestMapping(value="/healthqna") 
    public class CounselController { 

     @Resource(name="counselDAO") 
     private CounselDAO counselDAO; 

     @RequestMapping(value="/list", method=RequestMethod.GET) 
     public string list() { 
      counselService.getList(); // **Working !!** 

     } 
    } 
  • public class HealthQnATodayTAG { 
    
        @Resource(name="counselDAO") 
        private CounselDAO counselDAO; 
    
        public HealthQnATodayTAG() { 
    
         counselService.getList(); // **Did Not Working !!** 
    
        } 
    } 
    
  • +0

    資源在施工對象後被注入。 – SMA 2014-11-06 12:34:29

    回答

    0

    您的自定義標籤不是Spring管理豆等資源永遠不會注射。您需要在控制器中加載Model屬性,將其設置爲具有所需範圍的模型屬性,然後:

    [1]將它作爲參數傳遞給您的標記。

    <x:myTag list="${list}"/> 
    

    [2]讓你的自定義標籤延長javax.servlet.jsp.tagext.TagSupport,這將給你的PageContext中的引用,從中可以再拿到模型上的手柄屬性。

    pageContext.getAttribute("list");