1. 程式人生 > >jfinal 配置beetl模板引擎

jfinal 配置beetl模板引擎

新建屬性功能檔案“beetl.properties”

# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.

RESOURCE.root=/
#自定義配置
[email protected]
DELIMITER_STATEMENT_END=null
#
TEMPLATE_CHARSET=UTF-8
## 註冊方法
#FN.hasSession=com.common.function.HasWebSession
##註冊功能包
FNP.StringUtil = com.common.function.StringUtil

第二步在指定的HTMLFilter類中配置
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import org.beetl.core.GroupTemplate;
import org.beetl.ext.jfinal.BeetlRenderFactory;
import org.beetl.ext.web.SimpleCrossFilter;

/**
 *
 * @ClassNmae:HTMLFilter
 * @author zlx-雄雄
 * @date    2017-8-16 11:42:41
 * 
 */
public class HTMLFilter extends SimpleCrossFilter implements Filter {

    @Override
    public void init(FilterConfig arg0) throws ServletException {
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException {
        response.setContentType("text/html;charset=UTF-8");
        
        response.setCharacterEncoding("UTF-8");
        
        request.setCharacterEncoding("UTF-8");
        
        Enumeration<String> names = request.getParameterNames();
        
        Map<String, Object> param = new HashMap<>();
        
        while(names.hasMoreElements()){
            
            String key = names.nextElement();
            
            param.put(key, request.getParameter(key));
            
        }
        
        request.setAttribute("param", param);
        
        super.doFilter(request, response, chain);
    }

    @Override
    protected GroupTemplate getGroupTemplate() {
        
        return BeetlRenderFactory.groupTemplate;
        
    }
}

可以在jfinal配置類的configConstant(Constants me)【系統啟動配置常量初始化】方法中設定共享變數

    public static JPushClient jpushClient;
    public static GroupTemplate gt;

    /**
     * 系統啟動配置常量初始化
     * @param me
     */
    @Override
    public void configConstant(Constants me) {
        me.setEncoding("UTF-8");
        PropKit.use("config.txt");// 載入少量必要配置,隨後可用getProperty(...)獲取值
        me.setDevMode(PropKit.getBoolean("devMode", Boolean.TRUE));
        me.setError404View("/error/error404.html");
        me.setError500View("/error/error500.html");
        me.setJspViewExtension("/error/exceptionPage.jsp");
        me.setBaseUploadPath(PathKit.getWebRootPath() + "\\tempupload\\");
        
        me.setMainRenderFactory(new BeetlRenderFactory());
        gt = BeetlRenderFactory.groupTemplate;//根據gt可以新增擴充套件函式,格式化函式,共享變數等
        Map<String, Object> shard = new HashMap<>();//共享變數
        shard.put("path", JFinal.me().getContextPath());//新增共享變數上下文路徑
        String  static_url = PropKit.get("static_url");
        shard.put("static_url",static_url );
        shard.put("image_upload_url", static_url+PropKit.get("image_upload_url"));
        shard.put("upload_url", static_url+PropKit.get("upload_url"));
        shard.put("file_manager_json_url", static_url+PropKit.get("file_manager_json_url"));
        gt.setSharedVars(shard);//設定共享變數
    }


相關推薦

jfinal 配置beetl模板引擎

新建屬性功能檔案“beetl.properties” # To change this license header, choose License Headers in Project Properties. # To change this template file

IDEA Springboot 整合 beetl 模板引擎

省略建立springboot專案的步驟 配置pox.xml新增freemarker依賴 <!--beetl 模板引擎--> <dependency> <groupId>com.ibeetl</groupId

beetl模板引擎中for迴圈以及select設定預設值的判斷

<#select id="salesOfficesId" name="售樓處" >        @for(offices in officesList){             &nb

【java】intellij idea SpringMVC 配置FreeMarker模板引擎

要點 理解SpringMVC的配置 如下程式碼來自web.xml <!-- Spring MVC 核心配置開始 --> <servlet> <servlet-name>mvc-dispatcher&

thinkjs2.x 配置 art-template 模板引擎

highlight config AD think IE java blank TE body 一、thinkjs2.x默認模板引擎用的是ejs,改用art-template,art-template 是一個簡約、超快的模板引擎(https://aui.github.io/

Beetl:新一代Java模板引擎典範

類型 共享變量 支持 規則引擎 全局變量 for 控制語句 工具包 註解 Beetl是Bee Template Language的縮寫,它絕不是簡單的另外一種模板引擎,而是新一代的模板引擎,它功能強大,性能良好,秒殺當前流行的模板引擎。而且還易學易用。 什麽是Beetl B

配置freemarker(模板引擎

mark per 配置 pen free enc art 模板引擎 clas <properties> <freemarker.version>2.3.23</freemarker.version> </propertie

使用不同模板引擎beetl、FreeMarker、Velocity動態解析sql的方法

1、 String sql = null;if(null == renderType || renderType.equals(ConstantRender.sql_renderType_beetl)){ if(log.isDebugEnabled()) log.debug("beetl解析sql");

Velocity模板引擎下 velocity.properties轉義(轉碼)配置

velocity配置檔案中的編碼配置類: //對html檔案編碼的配置org.apache.velocity.app.event.implement.EscapeHtmlReference//對javascript檔案編碼的配置org.apache.velocity.app

Spring Boot學習筆記-Thymeleaf模板引擎配置

寫在前面   在開發過程中,使用模板引擎是很有必要的。我之前學習SSM框架,一直是使用Freemarker作為模板引擎,現在學習了Spring Boot之後,知道Spring Boot推薦使用的模板引擎是Thymeleaf,那麼,對於我這種有點輕微強迫症的人來

SpringMVC+jade實現高效能模板引擎(簡單配置

最近在研究一個前後端通用的高效能模板引擎,大概搜尋了下資料,有很多類似的模板引擎,比如Jade,Mustache.js,Dust.js,Nunjucks,EJS等等,當然只適用於前端或者只適用於後端的模板引擎就不算啦,比如(jquery template,fre

Springmvc 配置thymeleaf 和jsp 雙模板引擎

假設現在有這麼一個需求,在Springmvc中需要存在兩個模板引擎jsp和thymeleaf。 我們可以這樣來進行配置。 <?xml version="1.0" encoding="UT

Tornado框架配置使用Jinja2模板引擎

loop bsp pro sub 語句 turn closed cape aaa 安裝jinja2包 pip install jinja2 定義繼承tornado.web.RequestHandler的子類BaseHandler。如果請求處理類繼承這個類將會使用jinj

jfinal 遇見模板引擎(十二)

在開始指令學習之前,想先簡單的介紹一下模板引擎。什麼是Web模板引擎?答:Web模板引擎是一種生成HTML文件規範的技術實現。為什麼要使用模板去進行Web開發?答:在特定的場景下使用模板開發可以提高開發效率,解放生產力。這樣做可以讓開發工作變得簡單,方便。什麼場景下可以選擇使

artTemplate模板引擎

document bwt ucc 編譯 ssid card 默認 tsl ng-  1.artTemplate模板引擎的基本語法結構   2.artTemplate模板引擎的基本使用方法     2.1:使用一個type="text/html"的script標簽存放模板

JFinal 配置類 方法執行順序

處理器 模板引擎 jfinal 擴展 ant 數據 void route intercept 1、public void configConstant(Constants me) 常量配置方法,一般 在裏面 讀取 配置文件 2、public void configRoute

Jade模板引擎入門教程

undefine 文件 ech content arrays str www versions contain Jade是一款高性能簡潔易懂的模板引擎,Jade是Haml的Javascript實現,在服務端(NodeJS)及客戶端均有支持。 功能 客戶端支持 超強的可讀性

《開源框架那點事兒25》:對框架模板引擎實現方式的改造實錄

port 內嵌 代碼調試 iter put 文件路徑 children nts fault 點滴悟透設計思想,Tiny模板引擎優化實錄! 增加框架設計興趣小組:http://bbs.tinygroup.org/group-113-1.html Tiny模板引擎的實

前端學PHP之自定義模板引擎

php什麽是網站模板?準確地說,是指網站頁面模板,即每個頁面僅是一個板式,包括結構、樣式和頁面布局,是創建網頁內容的樣板,也可以理解為已有的網頁框架。可以將模板中原有的內容替換成從服務器端數據庫中動態內容,目的是可以保持頁面風格一致  PHP是一種HTML內嵌式的在服務器端執行的腳本語言,所以大部分PHP開發

Asp.net動態頁面靜態化之初始NVelocity模板引擎

實現 tracking ssr system uil 文件系統 處理程序 .ashx hosting Asp.net動態頁面靜態化之初始NVelocity模板引擎 靜態頁面是網頁的代碼都在頁面中,不須要運行asp,php,jsp,.net等程序生成client網頁代碼的