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