一、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表達式設置標籤屬性值。
上述代碼中,通過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表達式的全面解析,希望對大家有所幫助。
原創文章,作者:ZLCG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/146578.html