您的位置:首页 > 编程语言 > Java开发

轻量级JavaEE企业应用实战(八)

2015-12-18 10:18 459 查看

EL表达式

表达式语言是一种简化的数据访问方式,可以方便的访问JSP的隐含对象和JavaBeans组件,可用于简化JSP页面的开发,允许美工设计人员使用表达式语言的语法获取业务逻辑组件传过来的变量值

语法格式:

${expression}

表达式语言---算数运算符
${1}
${1.2 + 2.3}
${1.2E4 + 1.4}
${3 - 2}
${21 * 2}
${3 div 4} //除法
${10 % 4} //取余
${10 mod 4} //取余
${(1==2) ? 3 : 4} //三目运算


注:如果想在页面正常输入$符号,需要使用转义字符”\”;

表达式语言---逻辑运算符
${1 < 2} //比较两个数字
${1 lt 2} //小于,等同于<
${1 gt 2} //大于,等同于>
${4.0 ge 3} //大于等于,等同于>=
${4 le 3} //小于等于,等同于<=
${100.0 eq 100} //等于,等同于==
${(10*10) ne 100} //不等于,等同于!=
${'a' < 'b'} //字符间比较


表达式内置语言

表达式包含11个内置对象

pageContext //代表该页面的pageContext对象,于JSP中相同
pageScope //用于获取page范围的属性值
requestScope //用于获取request范围的属性值
sessionScope //用于获取session范围的属性值
applicationScope //用于获取application范围的属性值
param //用于获取请求的参数值
paramValues //用于获取请求的参数值,与param不同:用于获取属性值为数组的属性值
header //获取请求头的属性
headerValues //获取请求头属性值,与header区别:获取属性值为数组的属性值
initParam //获取请求Web应用的初始化参数
cookie //用于获取指定的cookie值


自定义函数的开发步骤

1.开发函数处理类:函数处理类就是普通类,包含若干个静态方法,每个静态方法都可定义成一个函数

例:

public class Functions {
//对字符串进行反转
public static String reverse(String text) {
return new StringBuffer(text).reverse().toString();
}
//统计字符串的个数
public static int countChar(String text) {
return text.length();
}
}


2.使用标签库定义函数:与定义标签的方法大致相似。在

<short-name>crazyit</short-name>
<uri>http://www.crazyit.org/tags</uri>
//reverse
<function>
<name>reverse</name>
<function-class>lee.Functions</function-class>
<function-signature>
java.lang.String reverse(java.lang.String)
</function-signature>
</fuction>
//countChar
<function>
<name>countChar</name>
<function-class>lee.Functions</function-class>
<function-signature>
int countChar(java.lang.String)
</function-signature>
</function>


3.EL中使用函数:一样需要先导入标签库,然后再使用函数。

使用reverse函数
${crazyit:reverse(param["name"])}
${crazyit:countChar(param["name"])}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: