最近爲了給自己多加些資本,開始系統的學習Struts2,在學習的過程中,發現問題,這些問題雖然對struts2的高手來說都是低級問題,但是我想對初學者來說還是比較容易碰上的,現在我碰到的問題整合起來,和大家一起分享:
1、在struts.xml中配置的自定義攔截器interceptor無效,經過查找資料,發現是因爲我用的是struts-2.1.8.1,和struts-2.0不同,他的註解的jar包是獨立出來的,爲struts2-convention-plugin-2.1.8.1.jar,只要這個jar包導入工程後,會默認攔截器的配置是採用註解,刪除這個jar包後,struts.xml配置的自定義攔截器就可以生效了,具體2.1版本要如何讓註解和struts.xml同時生效,暫時沒找到方法。
2、時間控件出現"dojo未定義",在頁面沒有顯示時間控件,在頁面上加入 <s:head theme="ajax"/> 就OK了。另外額外發現struts-2.1時間控件標籤已經改變,時間控件標籤單獨聲明。
2.0版本
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags"%>
2.1版本
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
3、visitor校驗器的沒起作用,也不報錯。仔仔細細檢查過文件內容,沒發現一點問題,最後發現原來驗證pojo文件放錯位置了,如果驗證的是User.class,驗證文件User-xxx-validation.xml要和User.class文件在同一個目錄中。也就是要放到你的POJO文件相同的目錄路徑下,不然的話Visitor校驗器就不會起作用。