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%>” />

时间: 2024-10-25 10:31:47

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

jsp页面中jstl标签详解

JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版.JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签函数库. Web程序员能够利用JSTL和EL来开发We

 jsp页面如何结合EL标签或JSTL标签,进行判断的?

JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的.JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x.在JSP 2.0中也是作为标准支持的. 这主要是为了替换以前Java代码写在Jsp页面上的写法.例如: 以前写法如下: 1 2 3 4 <%              String amind="Admin";       

关于在jsp页面中使用/struts-tags标签库的迭代器时,从ValueStack获取参数使用EL的问题

情况复原下: 通过valuestack存了个user,然后页面里可以${user.sex}拿到男.${user.sex=='男'}拿到ture 但是在使用 <s:if text="${user.sex=='男'}">报错   <c:if text="${user.sex=='男'}">可以用 分析: 我们都知道Struts2是对request进行增强了的,在getAttribute()无法获取数据时,会从ValueStack中获取. 那么用s

jsp页面中利用EL表达式实现时间格式转换

从数据库中取出的String类型的数据:2015-04-29 17:47:00.0 理想展现形式:2015-04-29 17:47 只需要两步就可以实现哦: first:引入标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefi

html和jsp页面中把文本框禁用,只能读不能写的方法

方法常用有三种: 第一种,使用   onfocus="this.blur()" 1 <input name="deptno" type="text" class="dfinput" value="${requestScope.dept.deptno}" onfocus="this.blur()"/> 第二种,使用   disabled=“disabled” 1 <inp

JSP页面中使用JSTL标签出现无法解析问题解决办法

今天建立一个JavaWeb工程测试JNDI数据源连接,在jsp页面中引入了JSLT标签库,代码如下: 1<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%> 2<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%> 3<%@ ta

在jsp页面中使用jstl标签

第一步:引入标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%> 第二步:使用jstl标签的demo,jsp页面内容如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <

jsp页面中引用其他页面的方法

初看这个标题....大家的感觉一定是好2啊.....博主一定要说jsp的动态引用(jsp:include)和静态引用(@include)了.介绍这两者区别的文章已经烂大街了..一搜一大把..博主竟然还来介绍这些老古董..果断alt+F4... 如果你确实是这么想的...那请先别急着关闭页面...今天我来分享一下自己的理解,算是对烂大街的东西的一点补充吧...(后面文字会比较啰嗦) 首先先说明下为什么会去讨论这个话题. 我在写自己的博客程序的时候(blogv2.labofjet.com),程序中的

jsp页面中如何将时间戳字符串格式化为时间标签

datetag.tld文件: 1 <?xml version="1.0" encoding="ISO-8859-1" ?> 2 <!DOCTYPE taglib 3 PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" 4 "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> 5