一般來說,程序中寫入硬編碼是一個很不好的習(xí)慣,比如:this.state="01";通常的做法是寫一個類(接口)來存放常量
public interface systemconstant
{
string state_wtj = "01";
}
然后在程序中這樣寫就可以了
this.state=systemconstant.state_wtj;
在java程序中這樣就可以避免硬編碼了??墒莏sp中呢?當(dāng)然,如果jsp中允許使用scriplet的話當(dāng)然也可以直接使用常量了,不過現(xiàn)在jsp中一般不允許出現(xiàn)<%%>這樣的代碼,比如在jstl中怎么辦呢?
<c:if test=${state=='01'}>
</c:if>
這樣又出現(xiàn)了'01'這樣的硬編碼了。剛才看了appfuse的解決方案,覺得挺不錯。
先寫一個jsptag,詳細(xì)見org.appfuse.webapp.taglib.constantstag類。
然后在jsp里使用這個tag
<appfuse:constants scope="request"/>
這樣,jstl中就可以這樣寫了:
<c:if test=${state==state_wtj}>
新聞熱點(diǎn)
疑難解答
圖片精選