Exception occurred during processing request: null

當訪問action類出現這個時,原因就是action類裏面的屬性爲null,也就是當前使用的action對象並不是你所想要所配置好的那個action對象。

總結查錯步驟:

一、單獨使用struts時

1.檢查該action類中的屬性名是否與jsp中所對應標籤的name值一致。

2.檢查該action類中是否有對應屬性的setter與getter方法。

二、與spring整合使用時:

1.檢查component-scan的base-package是否包含該類以及它屬性對應的類,特別是使用通配符時容易出現錯誤,這個可以自行去網上找通配符的使用規則。同時確定該類以及它屬性所對應的類的註解不會被exclude-filter排除。

2.該類中的屬性若是通過容器注入時,檢查@Resoure與@Atuowired註解的使用是否規範,比如使用@Autowired時是否配有setter方法、使用@Resource時屬性名是否與注入bean的id一致,不一致時需要配置一下注入bean的id等,這些使用規則網上都可以找到。類似地,若是沒使用註解而只是使用context配置文件時,檢查一下該類的bean是否有配置property標籤指向該null屬性的bean等。

3.檢查該action類是否有配置到容器中,是否有通過@Controller等註解或者在context文件中聲明創建bean。若是有,檢查一下struts配置文件中對應的action是否指向該bean,即class的值是否與該bean的id一致。注意action的class值在單獨使用struts時是指向全類名,而當需要從容器注入屬性時,class值就需要指向容器中所對應的bean。換種說法就是單獨使用struts時,運行的時候是new一個類實例,而與spring整合時,就需要從spring容器中獲取配置好的bean。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章