JSP(JSTL)中如何使用常量防止硬编码?

2008-02-23 08:11:35来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一般来说,程序中写入硬编码是一个很不好的习惯,比如: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}>

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:快速上手Eclipse Eclipse快捷键指南

下一篇:Apache 2.2 完全参考手册(中文版)