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

简介: 为什么使用该功能?项目中的每个页面都包含产品名称、Logo、版本等信息,我希望修改一处,其它所有的全部跟着变。 有同学会说那就都引用一个页面“”就Ok了;但是我希望这些信息都是可以通过后台代码修改的,修改后保存到数据库和一个静态类中;其实后台直接读写这个引用 的页面或者保存到属性文件(properties)中也是可以的,我觉得还是存到数据库中好一些。

为什么使用该功能?


项目中的每个页面都包含产品名称、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%>” />

目录
相关文章
|
10天前
|
Java
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
本文介绍了Java中抽象类和抽象方法的使用,以及ArrayList的基本操作,包括添加、获取、删除元素和判断列表是否为空。
13 2
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
|
7天前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
18 4
|
9天前
|
安全 Java API
Java根据URL获取文件内容的实现方法
此示例展示了如何安全、有效地根据URL获取文件内容。它不仅展现了处理网络资源的基本技巧,还体现了良好的异常处理实践。在实际开发中,根据项目需求,你可能还需要添加额外的功能,如设置连接超时、处理HTTP响应码等。
44 4
|
10天前
|
安全 Java
java调用方法
java调用方法
18 4
|
存储 Java C++
基于堆栈内存详析 Java函数形参是传值还是引用? | C++指针与Java引用的区别 | C++引用、指针等之间的区别 | C++与Java类的实例化的区别
基于堆栈内存详析 Java函数形参是传值还是引用? | C++指针与Java引用的区别 | C++引用、指针等之间的区别 | C++与Java类的实例化的区别
|
7天前
|
安全 Java 调度
Java编程时多线程操作单核服务器可以不加锁吗?
Java编程时多线程操作单核服务器可以不加锁吗?
21 2
|
10天前
|
存储 缓存 Java
java线程内存模型底层实现原理
java线程内存模型底层实现原理
java线程内存模型底层实现原理
|
15天前
|
缓存 Java 应用服务中间件
Java虚拟线程探究与性能解析
本文主要介绍了阿里云在Java-虚拟-线程任务中的新进展和技术细节。
|
12天前
|
Java 开发者
Java中的多线程基础与应用
【9月更文挑战第22天】在Java的世界中,多线程是一块基石,它支撑着现代并发编程的大厦。本文将深入浅出地介绍Java中多线程的基本概念、创建方法以及常见的应用场景,帮助读者理解并掌握这一核心技术。
下一篇
无影云桌面