EL、JSTL
来源:互联网 发布:当前统计模型算法 编辑:程序博客网 时间:2024/04/28 18:39
一、EL表达式它只是JSP中的表达式,不是一种开发语言。基本语法:${EL表达式}1、获取数据EL表达式获取的对象如果是null,页面不会显示数据。因此,EL表达式中永远不会出现空指针异常p.name:调用域中名称为p对象的getName方法,点运算符是用于获取属性的取值的。.运算符:[]运算符:.运算符能做的,[]也能做。[]能做的,.不一定能做。比如${p.name}===${p['name']}==${p["name"]}[]运算符的优点:可以取不符合Java命名规范的东东。2、数学逻辑运算:empty运算符:如果判断的对象是null或者空字符串,都返回true。对于集合,即使集合对象本身不是null,没有任何元素,也返回true。EL表达式不支持字符串连接操作。3、获取JSP的内置对象(11大EL内置对象):难点,不要与JSP的内置对象和范围名称搞混11大EL隐式对象中,其中一个是表示自身对象外,其余都是表示的Map结构EL内置对象名称Java类型备注pageContextjavax.servlet.jsp.PageContext与JSP中的内置对象完全相同剩余的都是代表的Map集合pageScopejava.util.Map代表着PageContext页面范围域那个MaprequestScopejava.util.Map代表着ServletRequest请求范围域那个MapsessionScopejava.util.Map代表着HttpSession会话范围域那个MapapplicationScopejava.util.Map代表着ServletContext应用范围域那个Mapparamjava.util.Map代表着请求参数。key:请求参数的名称。value:请求参数的值,它是一个字符串。paramValuesjava.util.Map代表着请求参数。key:请求参数的名称。value:请求参数的值,它是一个字符串数组。headerjava.util.Map代表着请求消息头。key:头名称。value:头值,它是一个字符串。headerValuesjava.util.Map代表着请求消息头。key:头名称。value:头值,它是一个字符串数组。cookiejava.util.Map代表客户端提交的Cookie的Map。key:cookie的name。value:cookie对象本身initParamjava.util.Map代表着全局初始化参数(web.xml中context-param).key:参数名称。value:参数值4、调用普通类的静态方法(EL函数)编写步骤(自定义EL函数的编写步骤即自定义标签的编写步骤):a、编写一个普通的java类,提供一个静态方法public class FunctionDemo {public static String toUpperCase(String str){return str.toUpperCase();}}b、在JavaWeb应用的WEB-INF目录下建立一个扩展名是tld(taglib definition)的XML文件(参考Tomcat中的示例)。内容如下:<?xml version="1.0" encoding="UTF-8"?><taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"version="2.0"><tlib-version>1.0</tlib-version><short-name>myfn</short-name><uri>http://www.jxn.cn/myfn</uri><function><!-- 定义函数 --><name>toUppercase</name><function-class>cn.jxn.el.FunctionDemo</function-class><function-signature>java.lang.String toUpperCase( java.lang.String )</function-signature></function></taglib>c、(可选步骤)前提是把tld文件放到了WEB-INF目录下。告知应用,tld文件和tld中的uri的对应。修改web.xml,增加以下内容:<jsp-config><taglib><taglib-uri>http://www.jxn.cn/myfn</taglib-uri><taglib-location>/WEB-INF/myfn.tld</taglib-location></taglib> </jsp-config>d、在JSP中使用用taglib指令,引入自定义的EL函数库<%@ taglib uri="http://www.jxn.cn/myfn" prefix="myfn"%> ${myfn:toUppercase(p)} 二、JSTLJSTL中的核心标签库(替换掉JSP中的Java脚本)导入JSTL的需要的jar包:standard.jar jstl.jarc:if作用:判断是否为true,如果为true,那么标签的主体内容就会显示。属性:test:必须的。要求必须是boolean的。支持表达式(EL或Java表达式)var:保存test运算结果的变量scope: 保存的域范围。默认是pagec:forEach遍历:数组、List、Set、Map属性:items:要遍历的目标对象。支持表达式var:变量名。指向当前遍历的集合中的一个元素begin:开始的索引(含)end:结束的索引(含)step:步长。默认是1varStatus:取一个名字,引用了一个对象。该对象有以下方法:int getIndex():当前记录的索引号。从0开始int getCount():当前记录的顺序。从1开始boolean isFirst():是否是第一条记录boolean isLast():是否是最后一条记录
0 0
- jstl+el
- el+JSTL
- el,jstl
- EL&JSTL
- el+jstl
- EL、JSTL
- jstl el <%%>
- EL JSTL
- jstl el
- El、JSTL
- el jstl
- EL&JSTL
- EL,JSTL
- EL,JSTL
- EL、JSTL
- EL+JSTL
- el&jstl
- El&jstl
- 文章标题
- PHP-FIG 定义的 PSR-3 日志接口规范
- API之NSSet的常见用法
- mqtt推送实践
- hdu 2896 病毒入侵 ac自动机入门 附加一组数据
- EL、JSTL
- 多表查询
- 【LCA】 Codeforces Round #294 (Div. 2) E. A and B and Lecture Rooms
- ios5自定义导航条
- API之NSString的常见用法
- dfsf
- UIAlertView的各种属性、方法及代理的使用
- WEB前端开发人员须知的常见浏览器兼容问题及解决技巧
- 删除大表的数据:普通删除语句和游标处理的比较