只能供銷系統_3模板技術

今日技術 : velocity與EasyCodehtml

 

 一.模板技術
> 數據+模板 = 文本java

 1.1 認識模板技術git

     1.1.1 經常使用的模板技術
- freemarker 默認後綴 .ftl
- ==velocity== 默認後綴 .vmapache

     1.1.2 模板技術的做用
- 動態頁面靜態化(網站)
- **代碼生成器**
- 郵件或者短信等的模板安全

   1.2 velocity的簡單學習session

    1.2.1 引入velocity框架

```ide

<dependency>
  <groupId>org.apache.velocity</groupId>
  <artifactId>velocity</artifactId>
  <version>1.6</version>
</dependency>


```
    1.2.2 準備模板 - hello.vm
> 具體的語法你們能夠去查看文檔
```學習

## 我是一個沒有感情的註釋
${username},你好啊!!!
##對象數據獲取
##$!:有數據就顯示,沒有數據就不顯示(其它的沒有數據會直接顯示)
${employee.username} ====== ${employee.age}
$employee.username ====== $employee.age
$!employee.username ====== $!employee.age

##設置變量
#set($person = "湯木")
$person

## 集合
#set($names=["湯母", "吉瑞", "肉絲"])
<p>$names.get(1)</p>

<ul>
    #foreach($l in $names)
        <li>$l</li>
    #end
</ul>


```
### 1.2.3 velocity的Java代碼
```
 //測試默認就是項目根目錄
    //數據 + 模板 = 輸入文本
   測試

@Test
    public void testHelloFile()throws Exception{
        //建立一個Velocity引擎
        VelocityEngine ve = new VelocityEngine();
        //獲到到相應的模板
        Template template = ve.getTemplate("template/hello.vm","UTF-8");
        //建立模板上下文(裝數據的東西)
        VelocityContext velocityContext = new VelocityContext();
        velocityContext.put("username","二狗");
        //準備對象,放到上下文中
        Employee employee = new Employee();
        employee.setUsername("三狗");
//        employee.setAge(45);
        velocityContext.put("employee",employee);

        //準備輸出的位置
        FileWriter fileWriter = new FileWriter("template/hello.html");
        //數據 + 模板 = 輸入文本
        template.merge(velocityContext, fileWriter);

        fileWriter.close();
    }


```


  二.代碼生成器

- easycode:就是一個idea的插件
- 使用的前提是你會velocity
- 官方文檔 : https://gitee.com/makejava/EasyCode/wikis/pages?sort_id=725069&doc_id=166248
- 生成的文件位置,生成文件內容


  三.權限的認識
- 兩種權限:登陸認證,權限認證

   3.1 登陸認證

    3.1.1 步驟
1. 若是沒有登陸這我的是遊客
2. 遊客會拿到令牌(用戶名和密碼)進行登陸
3. 先驗證用戶名(若是錯誤報帳號錯誤)
4. 驗證密碼(若是錯誤會報驗證錯誤)
5. 還有一種是其它錯誤【異常,通常是你的代碼有問題】
6. 登陸成功就會把當前用戶放到session中

    3.1.2 注意點
- 之前是HttpSession,只能用於Web項目 -> shiro框架
- 密碼驗證安全性很重要 -> MD5

   3.1 權限認證

- 用戶(n)-角色(n)-權限【資源】(n)

 

 

總結 : 定義固定內容,對填充數據定義變量取值填充,最終生成文本

擴展:實現中

相關文章
相關標籤/搜索