THYMELEAF常用属性

THYMELEAF常用属性

th:action

定义后台控制器路径,类似标签的action属性。

例如:

< form id=“login-form” th:action="@{/login}">…< /form>

th:each

对象遍历,功能类似jstl中的<c:forEach>标签。

例如:

public class StudentRequestBean {

private List students;

}

public class Student implements Serializable{

private String firstName;

private String school;

…}

@RequestMapping(value = “/addStudent”, method = RequestMethod.POST)

public String addStudent(@ModelAttribute(value = “stuReqBean”)

StudentRequestBean stuReqBean,ModelMap model) {…}

< form id=“login-form” th:action="@{/addStudent}"

th:object="${stuReqBean}" method=“POST”>

<input type=“text” class=“firstName” value=""

th:field="*{students[${rowStat.index}].firstName}">

<input type=“text” class=“school” value=""

th:field="*{students[${rowStat.index}].school}">

上面的例子中通过选择表达式*{}既能将表单绑定到后台的StudentRequestBean中的集合属性students,也能将Servlet上下文中的StudentRequestBean中的List类型的students变量回显,回显时通过th:each进行遍历。

注意1:绑定集合属性元素下标的用法*{students[${rowStat.index}].firstName}

注意2:如果List students为null,页面将无法显示表单,后台必须给students初始化一个值,即:

List stus = new ArrayList();

stus .add(new Student ());

StudentRequestBean.setStudents(stus );

注意3:stuIter代表students的迭代器

th:field

常用于表单字段绑定。通常与th:object一起使用。 属性绑定、集合绑定。

如:

public class LoginBean implements Serializable{…

private String username;

private List user;

…}

public class User implements Serializable{…

private String username;;

…}

@RequestMapping(value = “/login”, method = RequestMethod.POST)

public String login(@ModelAttribute(value = “loginBean”) LoginBean loginBean,ModelMap model) {…}

< form id=“login-form” th:action="@{/login}" th:object="${loginBean}">…

< input type=“text” value="" th:field="*{username}">< /input>

</i nput>

</ form>

th:href

定义超链接,类似< a>标签的href 属性。value形式为@{/logout}

例如:

< a th:href="@{/logout}" class=“signOut”>< /a>

th:id

div id声明,类似html标签中的id属性。

例如:

< div class=“student” th:id = “stu+(${rowStat.index}+1)”>< /div>

th:if

条件判断。

例如:

< div th:if="${rowStat.index} == 0">… do something …</ div>

th:include

见th:fragment

th:fragment

声明定义该属性的div为模板片段,常用与头文件、页尾文件的引入。常与th:include,th:replace一起使用。

例如:

声明模板片段/WEBINF/templates/footer. html

< div th: fragment=" copy" >

© 2011 The Good Thymes Virtual Grocery

</ div>

引入模板片段

< div th: include=" /templates/footer : : copy" ></ div>

< div th: replace=" /templates/footer : : copy" ></ div>

th:object

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

例如:

public class LoginBean implements Serializable{…}

@RequestMapping(value = “/login”, method = RequestMethod.POST)

public String login(@ModelAttribute(value = “loginBean”) LoginBean loginBean,ModelMap model) {…}

< form id=“login-form” th:action="@{/login}" th:object="${loginBean}">…< /form>

th:src

用于外部资源引入,类似于

例如:

< script th:src="@{/resources/js/jquery/jquery.json-2.4.min.js}"

th:replace

见th:fragment

th:text

文本显示。

例如:

< td class=“text” th:text="${username}" >< /td>

th:value

用于标签复制,类似标签的value属性。

例如:

< option th:value=“Adult”>Adult</ option>

< input id=“msg” type=“hidden” th:value="${msg}" />

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值