EL表達式是在JSP頁面中使用的一種小型腳本語言,它可以訪問JavaBean中的屬性、方法和其他對象。
有時候,我們希望將EL表達式的結果轉換為JSON格式,以便在前端頁面進行處理和展示。
public static String elToJson(String expression, HttpServletRequest request) { Object result = pageContext.getAttribute(expression, PageContext.PAGE_SCOPE); String json = "{}"; if (result != null) { ObjectMapper mapper = new ObjectMapper(); try { json = mapper.writeValueAsString(result); } catch (JsonProcessingException e) { e.printStackTrace(); } } return json; }
上述代碼中,我們使用了Jackson的ObjectMapper類將Java對象轉換為JSON字符串。首先,使用pageContext獲取EL表達式的結果,然后將其序列化為JSON格式,并返回字符串。
使用該方法,我們可以在JSP頁面中調用EL表達式,并將其轉換為JSON格式:
${fn:trim(fn:substring(elToJson("manager"), 0, -1), "")}
在上述例子中,我們將EL表達式manager
的結果轉換為JSON格式,并使用fn:trim
和fn:substring
函數去掉首尾的花括號。
這樣,我們就可以方便地在前端頁面中使用JSON數據了。