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