天天看點

Velocity生成帶有EL表達式的JSP檔案

今天使用Velocity模版生成jsp檔案的時候遇到的一個問題,生成EL表達式

我們知道el表達式使用${},而${}恰巧是Velocity的保留字

要生成 ${dic:get('DEMO')} 

第一次:直接寫被當作Velocity表達式解析

第二次:将“$”符“{”符“}”符 轉譯 

            \$\{dic:get('DEMO')\}  

            輸出的是: \$\{dic:get('DEMO')\}   他竟然原樣輸出了

之後翻了下網上的資料 

#literal() 

#end 

這個指令可以繞開Velocity的引擎的解析 

之後修改為 #literal()${#end dic:get('DEMO')#literal()}#end 

這樣就正常輸出了:${dic:get('DEMO')} 

之後和朋友讨論 還有一種方法 

A:${dic:get('DEMO')} 

B:${ dic:get('DEMO')} 

這兩種對于jsp都是一樣的,但對于Velocity來說A是需要解析的表達式 B是普通的字元串