Spring Model存储值在jsp EL表达式中不能正确显示(原样显示)问题

这几天我搭了一个SpringMvc环境,写了一个Controller,并且Controller里面有一个很简单的映射到jsp页面的方法,如下:

这里的Map<String,String>其实就是Model对象的一个替代品,Spring会把它当成Model的。从代码里看到我存了两个值,然后跳转到dashboard.jsp页面。如下:

当我启动项目,并访问时发现EL表达式原样输出,如下:

我查看了我所有配置,发现没有什么问题。百思不得其解,后来经过google一番,发现原来是web.xml版本不对。下面是我一开始的版本:

该版本是2.3.注意:2.3版本是不支持EL表达式的,所以会原样输出。所以把web.xml版本升级一下就行了,一般升级到3.1,如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

</web-app>

版本改过之后,正常显示:

原文地址:https://www.cnblogs.com/wutianqi/p/9816313.html

时间: 2024-10-30 07:02:05

Spring Model存储值在jsp EL表达式中不能正确显示(原样显示)问题的相关文章

EL表达式中的数字类型

今天遇到一个有趣的问题,也很纳闷的问题,不过好在解决了,在此记录下来. 在控制器中定义了一个Map<Integer,String>集合,看似没有问题,将这个集合的对象map传递到一个JSP页面中,我们都知道,用EL表达式 ${map[key]}就可以取得key对应的value了.但是问题就是这么奇怪,这样取不到值.百度,才发现:EL表达式中数字1,2,3,...是Long类型.也就是EL表达式不支持Integer类型的数字作为Map的key. 修改上述集合为:Map<Long,Strin

JavaWeb-11 (JSP&amp;EL表达式)

JavaWeb-11 JSP&EL表达式 JSP 四.JSP语法(学好的关键:对应的Servlet) JavaWeb-10 总结:session技术也是cookie的一种.服务器给浏览器创建一个篮子,并加上编号,这编号会存储到客户端上,当客户端再次访问服务器时,服务器会读取客户端的ID号,如果服务器找得到,就在篮子中拿出该客户端的session,若没有就新建一个 重点:URL重写. 1.JSP模版元素 JSP模板元素:HTML页面 JSP页面中的HTML内容称之为JSP模版元素. JSP模版元素

【黑马程序员】第10课:JSP+EL表达式+JavaBean

<pre> day10 上节内容回顾 1.jsp的入门 *在jsp里面如何嵌入java代码 **有三种 <%!  %>  <%= %> <%  %> *jsp就是servlet,最终也会被编译成servlet,放到tomcat的work目录里面 2.el入门 *获取域对象里面的值 *${域对象的名称} 3.cookie *cookie分类 **有两种:会话级别的cookie和持久性的cookie(使用方法setMaxAge方法) *创建cookie:new

Java web基础总结十之—— jsp EL表达式

Java web基础总结十之-- jsp EL表达式 一.EL表达式简介 EL 是Expression Language的缩写.在jsp中有很大的作用,EL主要有以下一些作用:获取数据,替换JSP页面中的脚本表达式,以从各种类型的web域中检索java对象.获取数据.还可以执行运算,利用EL表达式可以在JSP页面中执行一些基本的关系运算.逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算,例如 ${user==null}.还可以获取web开发常用的jsp的隐式对象,利用这些隐式对象,we

JSP EL表达式使用

JSP EL表达式使用: Servlet: package com.stono.servlet; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import

EL表达式中fn函数

JSTL 使用表达式来简化页面的代码,这对一些标准的方法,例如bean的getter/setter方法,请求参数或者context以及 session中的数据的访问非常方便,但是我们在实际应用中经常需要在页面调用对象的某些方法,例如我需要调用字符串的length方法来获取字符串的 长度时,在以往的开发过程中我们必须把对象先转为String类,然后在调用其length方法,这样的代码繁琐而且容易出错. 因此JSTL内置了几个用于字符串操作的方法,可以直接在表达式中使用,大大的简化了代码,提供代码的

EL表达式中如何截取字符串

EL表达式中如何截取字符串 可以截取,用fn函数:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 下面是JSTL中自带的方法列表以及其描述 函数名 函数说明 使用举例 fn:contains 判定字符串是否包含另外一个字符串 <c:if test="${fn:contains(name, searchString)}"> fn:c

EL表达式中引用隐式变量

除了在jsp中9大隐式变量(在前面文章也叫预定义变量)在转化成为servlet后_jspService中可以看到: public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException {

EL表达式中fn函数 (转载)

JSTL 使用表达式来简化页面的代码,这对一些标准的方法,例如bean的getter/setter方法,请求参数或者context以及 session中的数据的访问非常方便,但是我们在实际应用中经常需要在页面调用对象的某些方法,例如我需要调用字符串的length方法来获取字符串的 长度时,在以往的开发过程中我们必须把对象先转为String类,然后在调用其length方法,这样的代码繁琐而且容易出错. 因此JSTL内置了几个用于字符串操作的方法,可以直接在表达式中使用,大大的简化了代码,提供代码的