1、使用jstl访问Map<Integer,String>中的内容时总取不到?

el表达式的一个bug,在解析数字的时候,会自动将数字转换成Long类型。

我的解决办法是,Map的key改成String类型。那如果这个key是我从别处取出来的,取出来就是Integer的怎么办?

那只能想办法把这个key转换成字符串类型以后再使用它从Map中取值。这直接引出了2中的问题。

2、在jstl的定义式中如何像在java中一样使用 i+""的方式将整型转为字符串型?

<c:set var="key" value="${parentMenu.sysMenuId}${''}"></c:set>

说明:${parentMenu.sysMenuId}${''}这种方式貌似是el的字符串拼接方式,我这样尝试结果证明是对的。

3、如果在页面中${someMap}表示一个Map,${someKey}代表某个key,那我怎么写取值表达式?

说明:我们都知道${someMap[key]}是取值的方式,但如果你直接这么写${someMap[${someKey}]}是无法编译的。

正确的写法是${someMap[someKey]},是的,外面如果已经有了${}里面就没必要写了,这貌似是个规律。

4、如何判断一个集合是否为null?如何取得一个集合的size?

(1)判断一个集合是否为null:<c:when test='${not empty sms}'> ...,切记不要忘了${},据说${!empty sms}这种写法也可以,没试。

(2)如何取得一个集合的size:${fn:length(sms)},这个fn也是jstl的标签,

但必须在jsp页面中多引入一个标签库的声明,和常用的c标签库加起来以后像这样:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

(3)我们一般判断一个集合有内容时,不但要判断其是否为空,而且同时要求size>0,那这个怎么写呢?

根据3中的经验,外面如果已经有了${}里面就没必要写了,所以这么写:

<c:when test='${not empty sms and fn:length(sms) > 0}'>

5、jsp页面中,如何将日期类型的数据format成自己想要的数据

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<fmt:formatDate value="${assist.createTime}" type="both" pattern="yyyy/MM/dd hh:mm:ss" />

fmt用法很多:http://blog.sina.com.cn/s/blog_4f925fc30102dyfe.html

使用jstl+el表达式遇到的几个问题的更多相关文章

  1. JSTL+EL表达式+JSP自定义框架案例

    不会框架不要紧,我带你自定义框架 前言:这标题说的有点大了,当一回标题党,之前在学JSP的时候提到了JSTL和EL表达式,由于一直钟情于Servlet,迟迟没有更新别的,这回算是跳出来了.这回放个大招 ...

  2. 使用jstl el表达式对form表单的功能进行区分 比如新建和修改共用一个form

    新建一个专栏,修改这个专栏信息 完全可以做在一个jsp的一个form中 但是,需要注意的是,使用mvc的对象属性自动封装的话 如果id为空,将会报错,无法进入controller中的 所以要在页面上判 ...

  3. EL表达式具体解释

    在 JSP 页面中,使用标签库取代传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而.由自己定义标签非常easy造成反复定义和非标准的实现.鉴于此.出现了 JSTL ( JSP St ...

  4. 访问前台页面${pageContext.request.contextPath}/el表达式失效问题解决

    访问前台页面${pageContext.request.contextPath}/el表达式失效问题解决 2017年05月09日 10:54:18 AinUser 阅读数:922 标签: el表达式4 ...

  5. 【JavaWeb】EL表达式&过滤器&监听器

    EL表达式和JSTL EL表达式 EL表达式概述 基本概念 EL表达式,全称是Expression Language.意为表达式语言.它是Servlet规范中的一部分,是JSP2.0规范加入的内容.其 ...

  6. [转]EL表达式和JSTL表达式实例

    /* **Title:EL表达式和JSTL表达式实例 **Author:Insun **Blog:http://yxmhero1989.blog.163.com/ */ 为了方便写JSP,我们引入了E ...

  7. 简述jsp之EL表达式和jstl及其使用

    Jsp的指令之include指令include指令:代表的是页面的包含. 作用:可以把一些jsp的页面包含在一起,对外展示. 页面的布局,现在已经不用了,现在都用css+div进行布局.include ...

  8. EL表达式和JSTL

    EL相关概念JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程语言,甚至不是脚本 ...

  9. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

随机推荐

  1. JVM——代空间的划分

    首先看在JVM的堆中,按代的划分: Young:主要是用来存放新生的对象. Old:主要存放应用程序中生命周期长的内存对象. Permanent:是指内存的永久保存区域,主要存放Class和Meta的 ...

  2. [WPF源码分析]ContentControl依赖项属性的双向绑定,two-way binding view's DependencyProperty and ViewModel's variable

    问题:自定义控件的依赖项属性和VIewModel中的变量不能双向绑定 解决思路:对比.net源码 PresentationFramework  /   System.Windows.Controls ...

  3. C#使用ActiveMQ实例

    1. ActiveMQ消息总线简介 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已.主要用作不同进程.应用 ...

  4. idea mac快捷键

    mac快捷键 alt+f7查找变量方法使用的地方 F3添加书签 Ctrl + O快捷覆写方法 Alt + F3 添加书签标识 command + F3 显示书签 command + Shift + A ...

  5. JavaScript(五):变量的作用域

    一.变量的分类 在JavaScript中变量分为两种: 全局变量 局部变量 二.变量的作用域 1.局部变量的作用域 局部变量:在函数内部定义的变量称为局部变量,其作用域为该函数内部,在该函数外部不能被 ...

  6. node学习笔记7——npm安装包

    npm:Nodejs Package Manager(Nodejs包管理器).它有什么作用呢? 1.包统一下载途径: 2.自动下载依赖. 如何安装呢? 命令:npm install *** 比如我们要 ...

  7. [Intellij] Intellij IDEA 使用中遇见的问题

    问题集锦 [IntelliJ IDEA14 + tomcat 设置热部署] 点击deployment查看Deploy at the server startup 中tomcat每次所运行的包是 xxx ...

  8. linux文件经 windows系统 之后出现 权限缺失 的解决方法

    把Linux下的文件拷贝到windows,再拷贝到Linux时,文件的权限丢失. 解决办法: 把文件压缩后,将压缩文件拷贝到windows系统上,再拷贝压缩文件到linux服务器,在目标linux服务 ...

  9. ADB 设置远程调试

    Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00016657 相信很多人在android 开发调试的时 ...

  10. Window7 Cocos2d-x配置开发环境

    1.到Cocos2d-x官方网下载最新版,解压后在目录cocos2d-x-2.1.5\tools\project-creator\create_project.py 2.安装Python,到网站htt ...