求助,在jstl中使用常量的方法

laoqiao23 2011-03-23 03:11:52
现在的项目要求jsp画面不能使用java代码,只能用jstl标签,
类似这种
<c:if test=${state=='01'}>

</c:if>

怎么用常量来代替'01',
刚才看到有说用org.appfuse.webapp.taglib.ConstantsTag 来自定义一个常量标签的,
但实在不明白该怎么用,
哪位了解这个类的用法,或者有更好的解决方法,请赐教
...全文
392 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
laoqiao23 2011-03-24
  • 打赏
  • 举报
回复
太感谢了,虽然还没试呢,感觉这个应该是正解
rainsilence 2011-03-23
  • 打赏
  • 举报
回复
相信org.appfuse.webapp.taglib.ConstantsTag这个标签你已经download了吧

源码这里有:
http://www.javakey.net/source/appfuse/1.x/org/appfuse/webapp/taglib/ConstantsTag.java.html

大致用法
<appfuse:constants scope="request" var="类中Field名" className="org.test.Test(类完整包名)"/>

如果不加var,则表示把className中所有Field都定义为常量
laoqiao23 2011-03-23
  • 打赏
  • 举报
回复
有木有,有木有
java_ArrayList 2011-03-23
  • 打赏
  • 举报
回复
试了一下,常量类里没有get方法的话,
Constant.NAME这种方式在jsp上是取不到的吧,
还是非常感谢
rainsilence 2011-03-23
  • 打赏
  • 举报
回复
变通的方法是在Jsp开头的地方,把常量放入request中
rainsilence 2011-03-23
  • 打赏
  • 举报
回复
的确是取不到.代表get。
laoqiao23 2011-03-23
  • 打赏
  • 举报
回复
试了一下,常量类里没有get方法的话,
Constant.NAME这种方式在jsp上是取不到的吧,
还是非常感谢
rainsilence 2011-03-23
  • 打赏
  • 举报
回复
先定义一个常量类
package org.test;

public class Constant {
public static final String NAME = "123";
}


在jsp头部引用
<%@ page import="org.test.Constant" %>


使用的时候
<c:if test=${Constant.NAME.equals(state)}>

</c:if>
laoqiao23 2011-03-23
  • 打赏
  • 举报
回复
沉了- -
没人会么,是不是现在已经都不用这种方式了呢
laoqiao23 2011-03-23
  • 打赏
  • 举报
回复
呵呵,项目没有用任何框架,纯jsp的,只能用jstl,唉
我嘞个去 2011-03-23
  • 打赏
  • 举报
回复
哪也可以用struts2标签啊!

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧