一、UEL表达式
UEL表达式(Unified Expression Language,统一表达式语言),是Java EE中一种统一表达式语言,主要用于在JavaWeb应用中动态获取和设置值,适用于各种环境,如JSP、JSF等。
使用UEL表达式能够大大降低代码编写难度,提高代码可读性和维护性。
二、UEL表达式执行
UEL表达式的执行是由UEL引擎完成的,在JavaWeb应用中,UEL的引擎默认为JUEL(Java Unified Expression Language)。
UEL表达式通过ELResolver对象解析,ELResolver对象分别负责从不同的域中取出对应的变量。
${sessionScope.user.name}
上述代码中,sessionScope即为ELResolver对象负责的域,表示从session域中取出user属性,再取出其中的name属性。
三、UEL表达式语法
UEL表达式语法格式为${expression},其中expression可以是变量、方法、运算符、三目运算符等。
变量格式为${var},其中var可以是在scope域中定义的变量,在表达式解析时会从ELResolver中查找该变量。
方法格式为${bean.method()},需在bean中定义对应的方法,方法可带参数,多个参数以逗号分隔,例如${bean.method(param1, param2)}
UEL表达式支持多种运算符,如算术运算符(+、-、*、/),逻辑运算符(!、and、or、not),比较运算符(==、!=、>、<、>=、<=)等。
三目运算符格式为${condition?trueValue:falseValue},当condition为true时,返回trueValue,否则返回falseValue。
四、UEL表达式获取session
${sessionScope.user.name}
上述代码中,sessionScope表示从session中获取变量。
UEL也支持使用其他域,如pageScope、requestScope等。
${requestScope.param}
上述代码中,requestScope表示从request中获取变量。
五、UEL表达式解析
UEL表达式可以在不同的位置进行解析,如在JSP页面中,可以在HTML标签内使用UEL表达式设置标签属性值。
<input name="username" value="${sessionScope.user.name}">
上述代码中,通过UEL表达式从sessionScope中获取用户名,并将其设置为表单中用户名输入框的默认值。
六、UEL表达式 不等于
${param != null}
上述代码中,判断param是否为null,如果不为null,返回true,否则返回false。
七、UEL表达式 session
${sessionScope}
上述代码中,获取session域。
sessionScope也可以直接从session中获取变量。
八、UEL表达式过去session
${session.lastAccessedTime}
上述代码中,获取session最后访问时间。
session还有其他常用的方法和变量,如getAttribute、setAttribute、setMaxInactiveInterval等。
九、UEL表达式语法 double类型的
${primeNum/2.0}
上述代码中,primeNum表示一个double类型的变量,将其除以2并返回结果。
十、UEL表达式 len
${fn:length(userList)}
上述代码中,fn:length表示获取userList长度的方法。
结束语
以上是对UEL表达式的全面解析,希望对大家有所帮助。