首页 > 开发 > JSP > 正文

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

2020-02-05 13:46:48
字体:
来源:转载
供稿:网友

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

  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表