jsp页面中JSTL/EL标签引用java后台静态static字段的方法总结

为什么使用该功能?


项目中的每个页面都包含产品名称、Logo、版本等信息,我希望修改一处,其它所有的全部跟着变。 
有同学会说那就都引用一个页面“”就Ok了;但是我希望这些信息都是可以通过后台代码修改的,修改后保存到数据库和一个静态类中;其实后台直接读写这个引用 的页面或者保存到属性文件(properties)中也是可以的,我觉得还是存到数据库中好一些。 
还有同学会说直接使用“<%=com.xunge.base.constant.PlatInfo.title%>”就好了,但这个太长了,不容易记,每个页面都引用这一长串的东西你不觉得烦么?

可用的方法


方法一: 
推荐使用此方法,首先在页面中加入: 
<% request.setAttribute(“title”, com.xunge.base.constant.PlatInfo.title); %> 
之后就可以通过“${title}”来使用了。 
方法二: 
首先在页面中加入: 
<c:set var=”title” value=”<%=com.xunge.base.constant.PlatInfo.title%>” /> 
之后就可以通过“${title}”来使用了。 
注意:百分号和等号之间不能有空格,否则将不会被解析,如下图: 
这里写图片描述 
也不会产生“HTTP Status 500 - Unable to compile class for JSP:Syntax error on token “=”, @ expected”的错误; 
方法三: 
首先在页面中加入: 
<% String title = com.xunge.base.constant.PlatInfo.title; %> 
之后就可以通过“${title}”来使用了。 
但这个方法存在一个问题: 
如果一个页面中引用的多个jsp页面中都包含该语句,那么就会出现以下错误: 
HTTP Status 500 - Unable to compile class for JSP:Duplicate local variable title

不可用的方法


直接使用以下语句是取不到值的,即使加入“<%@page import=”com.xunge.base.constant.PlatInfo” %>也无济于事”: 
${com.xunge.base.constant.PlatInfo.title}

下面这句百分号和等号有空格,是不会被解析的,是面说过了。 

<c:set var=”title” value=”<% =com.xunge.base.constant.PlatInfo.title%>” />

转载自:http://blog.csdn.net/testcs_dn/article/details/43761983

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值