jsp页面中表达式语言中的$符号不起作用的解决方法

今天myeclipse里部署了之前做的一个测试项目,发现jsp里的$符号tomcat启动后页面上显示出来了,百度搜了下别人也有类似的问题出现过。经提醒原来是web.xml配置的version设置的是2.5而我tomcat5启动的。是tomcat的版本低于web的版本,从而导致$符号不能正常使用。

后将tomcat5改用tomcat6。jdk采用1.6 启动spring2.5项目。$显示问题解决。

以下是网上摘录的详细说明:

在jsp页面中用表达式语言中的$符号,如${pageScope.title}输出时,输不出内容还是${pageScope.titl}原封不动的显示

但是事实上,通过在当前jsp页面运行下面代码,可以测试pageContext.getAttribute("title")是有值的

<%
 ...
 pageContext.setAttribute("title",aboutusBean.getTitle());
 System.out.println("pageContext="+pageContext.getAttribute("title"));
%>

我是用的Tomcat5.5的版本,它只支持servlet/JSP规范版本:2.4/2.0,而我的web.xml中配置的是2.5规范,所以导致$符号不能正常使用了。

1.检查你的web.xml文件,保证是Servlet 2.4以上版本的,并没有禁用EL。

2.检查你的Web服务器,保证支持Servlet 2.4及以上规范。

3.注意Tomcat的版本,每个Tomcat的版本支持Servlet的规范是不一样的

4.Tomcat的版本及支持的Servlet的规范如下:

Tomcat:6.0.13          实现的servlet/JSP规范版本:2.5/2.1
Tomcat:5.5.23          实现的servlet/JSP规范版本:2.4/2.0
Tomcat:4.1.36          实现的servlet/JSP规范版本:2.3/1.2
Tomcat:3.3.2           实现的servlet/JSP规范版本:2.2/1.1

以上就是小编为大家带来的jsp页面中表达式语言中的$符号不起作用的解决方法全部内容了,希望大家多多支持我们~

时间: 2016-09-30

jsp 不支持EL表达式,解决办法

如果有以下内容,表示是Servlet 2.3 / JSP 1.2. <!--CTYPE web-app PUBLIC </sp--> "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> 在默认情况下,Servlet 2.3 / JSP 1.2是不支持EL表达式的,而Servlet 2.4 / JS

JSP EL表达式详细介绍

一.JSP EL语言定义 E L(Expression Language)  目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法.它是一种简单的语言,基于可用的命名空间(PageContext 属性).嵌套属性和对集合.操作符(算术型.关系型和逻辑型)的访问符.映射到 Java 类中静态方法的可扩展函数以及一组隐式对象.       EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.

jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法

在自己练手时遇到了EL表达式被当成字符串处理而没有正确解析的现象.当时工程中使用的Javaee5, web.xml <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/

实例解析JSP中EL表达式的各种运用

EL运算符: <%@page language="java" contentType="text/html;charset=gb2312"%> <%@page import="java.sql.*" %> <!DOCTYPE html> <html> <head> <title>El算数运算符</title> </head> <body>

JSP中正则表达式用法实例

本文实例讲述了JSP中正则表达式用法.分享给大家供大家参考,具体如下: <%@ page language="java" import="java.util.*,cn.com.Person,cn.com.Adddress" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+

jsp中EL表达式获取数据

jsp标签: <jsp:include> <jsp:forward> 实现请求转发 <jsp:param> 给上面的添加参数的 EL表达式: 1.获取变量数据 <% String name="陶士涵"; pageContext.setAttribute("name",name); %> 你好,${name} 2.获取数组数据 <% String[] names={"陶士涵","张三&

JSP 不能解析EL表达式的解决办法

原因是:在默认情况下,Servlet 2.4 / JSP 2.0支持 EL 表达式. 解决的办法有两种: 1.修改web.xml的开头定义. 复制代码 代码如下: <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=&quo

JSP Struts过滤xss攻击的解决办法

JSP Struts过滤xss攻击的解决办法 本方案采用struts2的拦截器过滤,将提交上来的参数转码来解决. 配置struts.xml <package name="default" namespace="/" extends="struts-default, json-default"> <!-- 配置拦截器 --> <interceptors> <!-- 定义xss拦截器 --> <i

浅谈java里的EL表达式在JSP中不能解析的问题

今天也碰到了el表达式无法解析的事情,于是在网上查询了下,大多说是因为web.xml中声明的版本问题 于是收集了如下版本: web-app_2_2.xsd <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java

Javaweb El表达式实例详解

EL全称 Expression Language(表达式语言),是jsp2.0最重要的特性之一,可以利用EL表达式来访问应用程序中的数据,来消除jsp页面中的java脚本. el表达式的语法 expression例如x+y可以写成{x+y} el中的关键字 以下是el中的关键字,他们不能用做标识符: and,eq,gt,true,instanceof,or,ne,le,false,empty,not,lt,ge,null,div,mod 一.EL表达式简介 EL 全名为Expression La

使用IDEA编写jsp时EL表达式不起作用的问题及解决方法

在使用IDEA开发maven+springMVC项目时遇到不加载EL表达式的问题,怎么处理呢?下面小编给大家带来了实现代码,一起看看吧 加载如下JSP代码: <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"

解析Tomcat 6、7在EL表达式解析时存在的一个Bug

今天在做数据分页显示的时候遇到了一个问题,经过测试,证实是Tomcat 6的一个bug,我所用的版本为:apache-tomcat-6.0.36,和7.0.30均能复现.下面详细描述一下这个bug: 该bug是在JSTL<c:forEach>标签中发现的,后来分析是EL表达式实现时产生的问题.jsp页面中有一个list需要遍历,这个list的类型为ArrayList<String>,我在其中放置的数据为(为方便我写成数组的形式):["1","...&q

浅谈jsp EL表达式取值过程、page和pagecontext的区别

1.EL表达式解析过程 JSP中,我们经常会写为${obj.name}字样,但你有没有想过,它的取值过程是什么,属性值从哪取得? ${obj}相当于 request.getAttribute("obj"),这句话严格来说不严谨,依次的请求范围是page.request.session.application 也就是说,如果在page.getAttribute()找不到,再去request.getAttribute,如果request找不到,再去session里找,session里找不到

El表达式使用问题javax.el.ELException:Failed to parse the expression的解决方式

javax.el.ELException的解决方式failed to parse the expression [${xxx}] Tomcat 7 'javax.el.ELException' 的解决方式 tomcat7对EL表达式的语法要求比较严格,例如"${owner.new}"因包含关键字new就会导致解析出错. 问题是出来了,怎么解决呢?有三种,如下: 第一种:严格遵守java规范,修改对象的属性名称,要求不包含java关键字; 第二种:修改EL表达式,例如"${ow