Thymeleaf的标签和表达式

Thymeleaf的标签和表达式,第1张

  11   th:id    

         替换id标签

  12    th:text   

          文本替换,包括html标签

  13 th:utext   

        文本替换,html标签会显示出正确的样式

   14 th:object 

   替换对象, 用于表单数据对象绑定,将表单绑定到后台controller的一个JavaBean参数。常与th:field一起使用进行表单数据绑定。

15  th:value

属性赋值

16 th:with

定义局部变量

当th:with被处理,firstPer变量创建一个局部变量和变量添加到map自上下文, 以便它是用于评估和其他上下文中声明的变量从开始,但只有包含< div >标记的范围内。

定义多个局部变量

17 th:style

设置样式

18 th:onclick

点击事件

19 th:each

属性赋值

110 th:if

 判断条件

111 th:unless

和th:if判断相反

112 th:href

链接地址

113 th:switch

多路选择配合th:case使用

114 th:fragment

自定义片段,定义fragment,所有的fragment可以写在一个文件里面,也可以单独存在

   115  th:insert

   保留自己的主标签,保留th:fragment的主标签。

  116  th:replace

  不要自己的主标签,保留th:fragment的主标签。

    117 th:include

    保留自己的主标签,不要th:fragment的主标签。(官方30后不推荐)

    结果为:

118 th:selectd

selected选择框选中

119 th:src

类地址引入

120 th:inline

定义js脚本可以使用变量

121 th:action

表单提交的地址

122 th:remove

删除某个属性

1all:删除包含标签和所有的孩子。

2body:不包含标记删除,但删除其所有的孩子。

3tag:包含标记的删除,但不删除它的孩子。

4all-but-first:删除所有包含标签的孩子,除了第一个。

5none:什么也不做。这个值是有用的动态评估。

123 th:attr

 设置标签属性,多个属性可以用逗号分隔

$ {}    变量表达式,可用于获取后台传过来的值

  {} 选择变量表达式  

 #{} 消息表达式  

 @ {} 链接⽹址表达式,用于替换网页中的 src、href 等的值

〜{} ⽚段表达式,可以用于引用公共的目标片段

@{} 处理 url 地址

     Thymeleaf 的 @ {} 表达式用于处理 web 应用中的 url 地址,可以是相对地址,也可以是绝对地址。

     @{/}  斜杠开头表示相对整个应用根目录,"/" 表示 "/应用上下文路径"

     假如页面当前浏览器地址为:>

### 1、定义方言Dialect

继承AbstractProcessorDialect

```

public class PagingDialect extends AbstractProcessorDialect {

    private static final String DIALECT_NAME = "PagingDialect";//定义方言名称

    public PagingDialect() {

        super(DIALECT_NAME, "paging", StandardDialectPROCESSOR_PRECEDENCE);

        //优先级:值必须为:StandardDialectPROCESSOR_PRECEDENCE

    }

    @Override

    public Set getProcessors(String dialectPrefix) {

        Set processors = new HashSet();

        //添加我们定义的标签

        processorsadd(new PagingTagProcessor(dialectPrefix));

        processorsadd(new StandardXmlNsTagProcessor(TemplateModeHTML, dialectPrefix));

        return processors;

    }

}

```

### 2、添加自定义处理程序Processor

继承AbstractElementTagProcessor

```

public class PagingTagProcessor extends AbstractElementTagProcessor {

    private static final String TAG_NAME = "pager";//标签名

    private static final int PRECEDENCE = 10000;//优先级,必须是10000,否则读取不到标签的赋值

    public PagingTagProcessor(String dialectPrefix) {

        super(

                TemplateModeHTML,      // 此处理器将仅应用于HTML模式

                dialectPrefix,          // 要应用于名称的匹配前缀

                TAG_NAME,              // 标签名称:匹配此名称的特定标签

                true,                  // 没有要应用于标签名称的前缀

                null,                  // 无属性名称:将通过标签名称匹配

                false,                  // 没有要应用于属性名称的前缀

                PRECEDENCE              // 优先(内部方言自己的优先)

        );

    }

    @Override

    protected void doProcess(ITemplateContext context,

                            IProcessableElementTag tag,

                            IElementTagStructureHandler structureHandler) {

        String url = ((WebEngineContext) context)getRequest()getRequestURL()toString();

        String queryString = ((WebEngineContext) context)getRequest()getQueryString();

        String pageUrl = "";

        if (StringUtilsisEmpty(queryString)) {

            pageUrl = url + "page=";

        } else {

            pageUrl = url + "" + queryString + "&page=";

        }

        ApplicationContext appCtx = SpringContextUtilsgetApplicationContext(context);

        //读取标签内容(当前页),注意标签必须是自带标签才能正常读取值

        String pageIndexString = taggetAttributeValue("value");

        //读取标签内容(页码大小)

        String pageSizeString = taggetAttributeValue("size");

        //读取标签内容(数据大小)

        String totalSizeString = taggetAttributeValue("rows");

    }

}

```

### 3、使用@Bean注解完成方言注入

在SpringBoot Application类中加入注入

```

    @Bean

    public PagingDialect paging() {

        return new PagingDialect();

    }

```

### 4、页面应用

```

```

以上就是关于Thymeleaf的标签和表达式全部的内容,包括:Thymeleaf的标签和表达式、如何在HTML页面用EL表达式接受JSP页面session中传过来的值、SpringBoot2中使用thymeleaf3自定义分页方言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9512198.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存