您的位置:

UEL表达式全面解析

一、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表达式的全面解析,希望对大家有所帮助。