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

news/2024/5/18 11:57:11 标签: jstl, java

为什么使用该功能?

项目中的每个页面都包含产品名称、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%>” />
————————————————
版权声明:本文为CSDN博主「微wx笑」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/testcs_dn/article/details/43761983


http://www.niftyadmin.cn/n/1870360.html

相关文章

学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

学习jsp不得不学习jsp标签&#xff0c;一般来说&#xff0c;对于一个jsp开发者&#xff0c;可以理解为jsp页面中出现的java代码越少&#xff0c;对jsp的掌握就越好&#xff0c;而替换掉java代码的重要方式就是使用jsp标签。 jsp标签的分类&#xff1a;1&#xff09;内置标签&am…

python剑指offer系列通过求二叉树的深度来理解递归

二叉树如下所示递归求二叉树的深度代码如下&#xff1a; class Solution:def TreeDepth(self, pRoot):if pRoot None:return 0left ,right self.TreeDepth(pRoot.left) , self.TreeDepth(pRoot.right)print(lefts,rights)return max(left,right) 1首先如何理解递归&#xff…

python剑指offer系列二叉树的下一个节点

题目&#xff1a; 给定一个二叉树和其中的一个结点&#xff0c;请找出中序遍历顺序的下一个结点并且返回。注意&#xff0c;树中的结点不仅包含左右子结点&#xff0c;同时包含指向父结点的指针。solution思路&#xff1a; 第一步还是找到某个节点的根节点&#xff0c;方法是一…

python剑指offer系列对称的二叉树

题目&#xff1a; 请实现一个函数&#xff0c;用来判断一颗二叉树是不是对称的。注意&#xff0c;如果一个二叉树同此二叉树的镜像是同样的&#xff0c;定义其为对称的。solution&#xff1a;/*思路&#xff1a;首先根节点以及其左右子树&#xff0c;左子树的左子树和右子树的右…

使用Freemarker 实现JSP页面的静态化

使用Freemarker 静态化网页 一、原理 Freemarker 生成静态页面&#xff0c;首先需要使用自己定义的模板页面&#xff0c;这个模板页面可以是最最普通的html&#xff0c;也可以是嵌套freemarker中的 取值表达式&#xff0c; 标签或者自定义标签等等&#xff0c;然后后台读取这个…

性能优化:用FreeMarker实现页面静态化

【IT168 技术】众所周知&#xff0c;随着网站的访问量增加&#xff0c;如何给用户以良好的访问体验就显得尤为重要。提升网站性能便成为一些网站面临的一大难题&#xff0c;像hao123这样的导航网站要提升网站的性能只要部署的web服务器数量足够就可以承载超大规模的访问量&…

python剑指offer系列把二叉树打印成多行

题目&#xff1a; 从上到下按层打印二叉树&#xff0c;同一层结点从左至右输出。每一层输出一行。思路&#xff1a;按层遍历&#xff0c;遍历完每层后更新solution&#xff1a; # -*- coding:utf-8 -*- # class TreeNode: # def __init__(self, x): # self.val x …

python剑指offer系列按之字形顺序打印二叉树

题目&#xff1a; 请实现一个函数按照之字形打印二叉树&#xff0c;即第一行按照从左到右的顺序打印&#xff0c;第二层按照从右至左的顺序打印&#xff0c;第三行按照从左到右的顺序打印&#xff0c;其他行以此类推。 思路&#xff1a; 层次遍历的变种 solution&#xff1a; #…