想問大家一個問題,主要是沒有思路。
需求是我想自己實作一個模板引擎功能(是自己實作,不用第三方freemarker一類的現有模板),自己定義標簽,自動決議查詢,舉個例子:
比如我們做一個網站,查詢新聞圖文串列,樣式如下:
<ul>
<li><img src = "xxxx/xxxx.jpg" /> 新聞1</li>
<li><img src = "xxxx/xxxx.jpg" /> 新聞2</li>
<li><img src = "xxxx/xxxx.jpg" /> 新聞3</li>
<li><img src = "xxxx/xxxx.jpg" /> 新聞4</li>
<li><img src = "xxxx/xxxx.jpg" /> 新聞5</li>
</ul>
這個新聞所在的欄目id為2,我們想查詢最新的5條資訊,正常情況,我們寫java代碼,后臺先寫介面,
然后前端呼叫介面渲染,我現在想如下自定方法做:
自己定義一個標簽比如自定義一個串列回圈標簽
[s:list={2,5,30}]
<li><img src="https://bbs.csdn.net/topics/#imgUrl" /> #newstitle</li>
[/s:list]
上面的2是欄目id,5是5條,30是截取30個標題字符。
目前我的想法是要寫一個決議器,然后讀取頁面模板檔案,遇到自定義的標簽就自動組裝成java查詢代碼,自動查詢渲染,想問一下大家,我這個想法可不可行,或者誰有稍微詳細一點的解決方案沒有?多謝!
uj5u.com熱心網友回復:
可以做,但沒什么必要。簡單點使用內容替換,復雜點實作自己的語法樹。具體參考apache velocity,groovy之類的源代碼,包括freemarker。velocity的語法樹是用jjTree生成的,參考下邊的鏈接。
jjTree 簡介_zhoujinhuang-CSDN博客
https://blog.csdn.net/zhoujinhuang79/article/details/83221583
uj5u.com熱心網友回復:
我不明白為啥要自己寫,難道是覺得自己寫的會比freemarker更好?freemarker也可以支持自定義標簽,所以一般的正常需求應該都是可以滿足的。如果只是想練習的話,自己寫可以,如果是商業專案,不建議自己寫。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/253252.html
標籤:Web 開發
