EL:Expression Language的缩写,表达式语言。
基本语法形式:${java表达式}
1、作用:替换掉JSP中的java表达式<%=%>
2、功能:EL表达式不支持字符串连接操作
a、从域中获取数据,并把数据显示在页面上。不会出空指针异常。
${p.name}:
Java:
Person p = pageContext.findAttribute("p");
out.write(p.getName());
.运算符:调用getter方法
[]运算符:
.运算符能做的,它都能做。${p.name}=${p['name']}=${p["name"]}
.运算符不能做的,它也能做(能做不符合java命名规范的数值的获取)。
${list[0]} ${header['Accept-Encoding']}
b、进行简单的数学和逻辑运算
${5/3}===>1
${5%3}===>2
**empty:能判断表达式是否是null或者""字符串(不会忽略首尾空格)。是的话返回true
能判断一个集合中有没有元素。
c、获取web中开发中的常用对象(11大隐式对象)
pageContext:代表javax.servlet.jsp.PageContext对象本身
其余10个都是代表Map类型
pageScope:代表的是一个Map。页面范围的域对象中的Map
requestScope:
sessionScope:
applicationScope:
param:
paramValues:
header:
headerValues:
cookie
initParam:
d、调用普通java类中的静态方法(自定义EL函数)
编写步骤:(自定义标签的步骤相同)
1、编写一个类:定义一个静态方法。
package com.itheima.functions;
public class StringUtil {
public static String toUpperCase(String str){
return str.toUpperCase();
}
public static String connect(String s1,String s2){
return s1+s2;
}
}
2、在WEB-INF目录下建立一个扩展名为tld(Tag Libary Defination)的xml文件。
(EL函数与具体类的方法进行一个映射)(参考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.itheima.com/jsp/functions</uri>
<function>
<description>Converts the string to uppercase</description>
<name>toUpperCase</name>
<function-class>com.itheima.functions.StringUtil</function-class>
<function-signature>java.lang.String toUpperCase( java.lang.String )</function-signature>
</function>
<function>
<name>connect</name>
<function-class>com.itheima.functions.StringUtil</function-class>
<function-signature>java.lang.String connect( java.lang.String,java.lang.String )</function-signature>
</function>
</taglib>
3、在web.xml中将tld的实际存放路径与tld中的uri进行绑定(可选的:前提是你把tld文件放到了WEB-INF目录下)
<jsp-config>
<taglib>
<taglib-uri>http://www.itheima.com/jsp/functions</taglib-uri>
<taglib-location>/WEB-INF/myfn.tld</taglib-location>
</taglib>
</jsp-config>
4、在JSP中使用自定义的函数
使用前:通过taglib指令引入<%@ taglib uri="http://www.itheima.com/jsp/functions" prefix="myfn"%>
Tip:
SUN提供的标准的EL函数。全都是与String有关
属于JSTL的一部分:(Java Standard Tag Libary)
core:核心
fmt:格式化
xml:操作xml
sql:操作数据库
functions:EL函数
前提:使用JSTL,导入jar包:jstl.jar standard.jar
如下是例子的部分代码(2个方法都可以)
<script type="text/javascript">
$(document).ready(function() {
onlyNum("test");
}
//文本框只能输入数字,不能输入小数点和字母 by john
function onlyNum(id){
$("#"+id).keydown(function(event)
{ var keyCode = event.which;
if (keyCode == 46 || keyCode == 8 || keyCode == 37 || keyCode == 39 || (keyCode >= 48 && keyCode <= 57) || (keyCode >= 96 && keyCode <= 105) )
{ return true; }
else { return false } }
).focus(function()
{ this.style.imeMode = 'disabled'; }
);
}
//文本框只能输入数字和小数点,不能输入字母 by john
function pageOnlyNumber(evt){
evt = (evt) ? evt : window.event;
keyCode = evt.keyCode ? evt.keyCode : (evt.which ? evt.which :evt.charCode);
if((keyCode < 48 || keyCode > 57) && keyCode != 8 && keyCode != 46)
{
if(window.event){
window.event.returnValue = false;
}
else{
evt.preventDefault();
}
}
}
</script>
<input type="text" id="APPLY_FEE_RATE" name="APPLY_FEE_RATE" onkeypress="pageOnlyNumber(event)" maxlength="12" size="5" value='' class="validate[funcCall[checkFunction]]" />
<input type="text" name="test" id="test" value='' />node.js的东西网上已经有不少资料了,其实大可不必写了。正好赶上要和一个朋友交流,干脆就写个笔记好了。由于用的是Windows系统,和Linux版本有所区别,于是就单搞了个Windows篇。废话不说了,先将最基本的环境安装。
由于微软的投资,现在在Windows上安装简便多了(遥想当年那个复杂啊)步骤如下:
1 访问 http://nodejs.org 下载安装包。
2 运行安装包,等待安装完成。
好了就这么简单,现在到Programmes文件夹下会发现新增了nodejs文件夹,这就是nodejs的安装目录了,以后一些公用模块会天骄到这个目录下。
既然安好了,就赶紧测试一下,随便找个位置建个文件件,我是在C下建了nodecellar文件夹,然后再新建一个名为server.js的文件,将一下内容写入该文件。
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(3000, '127.0.0.1');
console.log('Server running at http://127.0.0.1:3000/');
建好后,到开始菜单的nodejs项目下,有个名为“Node.js commmand prompt”的快捷方式,单击打开控制台程序,然后进入你刚刚创建的文件夹中,我这里是 C:\nodecellar\,然后录入下面的命令启动服务。
现在我们就开启了一个Web服务,注意不要关闭刚才的控制台程序,然后打开浏览器,在地址栏中输入“http://localhost/:3000”。
如果看到"Hello World"就说明服务启动Ok了。
本文链接