先看三段代碼:
<jsp:include page="targetPage.jsp"></jsp:include>
<jsp:include page="targetPage.jsp">
</jsp:include>
按照我們平常用這種標簽的思路,這三個標簽放在頁面中應該都是對的沒有問題。可是今天我就遇到一個問題,最后一個JSP頁面死活報錯,說必須要<jsp:param>標簽才可以。也就是說如果你用</jsp:include>標簽結尾,那么你中間必須用<jsp:param>標簽!就是由于這個問題,我愣是花了一個下午把深圳嘉訊MAS系統中的很多jsp文件改了個遍。不知道這個問題是與tomcat5.5的bug還是什么,搞不懂。
也許在嘉訊的信息機上沒有問題,因為信息機的默認配置是RedHat 9/Tomcat4,一個產品必然也是在它的默認配置上充分測試過的;但是由于我們公司自己的一些要求,我們把系統換成了ubuntu,tomcat相應也變成了tomcat5.5。順便還提一個問題,就是locale的設置不一樣所造成時間轉換的問題。我覺得MAS系統在這個方面有些地方做得不好,體現在AppTools.java中,時間的轉換有幾個函數用的是DataFormat.getInstance()方法取得當前Locale的時間轉換格式化工具,那么它所要求的時間格式就與Locale有關了,這對于像我們公司這樣部署到其他系統,或者用全英文環境的系統時會有一些問題,比如定時發送短信時的時間輸入取不到,所以不能定時發短信了。其實對于時間輸入格式已經確定的軟件系統,用new SimpleFormat("FORMAT")的方式會更好一些。讓我感到奇怪的AppTools這個某些方法用SimpleFormat有些用DateFormat.getInstance()方法。

<jsp:include page="targetPage.jsp"/>


也許在嘉訊的信息機上沒有問題,因為信息機的默認配置是RedHat 9/Tomcat4,一個產品必然也是在它的默認配置上充分測試過的;但是由于我們公司自己的一些要求,我們把系統換成了ubuntu,tomcat相應也變成了tomcat5.5。順便還提一個問題,就是locale的設置不一樣所造成時間轉換的問題。我覺得MAS系統在這個方面有些地方做得不好,體現在AppTools.java中,時間的轉換有幾個函數用的是DataFormat.getInstance()方法取得當前Locale的時間轉換格式化工具,那么它所要求的時間格式就與Locale有關了,這對于像我們公司這樣部署到其他系統,或者用全英文環境的系統時會有一些問題,比如定時發送短信時的時間輸入取不到,所以不能定時發短信了。其實對于時間輸入格式已經確定的軟件系統,用new SimpleFormat("FORMAT")的方式會更好一些。讓我感到奇怪的AppTools這個某些方法用SimpleFormat有些用DateFormat.getInstance()方法。