directorio
Primavera de arranque integración thymeleaf
Primavera de arranque integración thymeleaf (primavera de arranque recomendación oficial de la tecnología de capa de vista)
Thymeleaf Características: thymeleaf ser prestados por una sintaxis marca específica html.
la integración de primavera de arranque del proyecto los pasos thymeleaf
- El proyecto creado thymeleaf (proyecto maven del tipo frasco de proyecto de arranque de primavera)
- Abra el archivo pom.xml, añadir a coordinar el arranque
Código:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
</parent>
<dependencies>
<!-- spring boot的web启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- thymeleaf 启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
- Controlador Controlador Escrito
código:
@Controller
public class UserController {
/**
* 返回一个String的返回值(恒跳转),并且不是一个异步的ResponseBoby响应
* 框架会自动在templates目录下查找与之对应的html页面,
* 由Thymeleaf渲染出来。
* 前缀:classpath:/templates 后缀:.html
* 如果想要跳转到控制器,必须要让前缀和后缀失效,加上forward或redirect
*/
@RequestMapping("/show")
public String showInfo(Model model) {
//存储用户名字符串,显示到页面
model.addAttribute("username","翠花");
//前缀:classpath:/templates 后缀:.html
return "index";
}
}
- Escribe thymeleaf capa de visualización de la página (responsable de la visualización de datos)
página thymeleaf debe ser colocado en src / main / resources / templates bajo
plantillas: Este directorio está destinado contenido seguro en el directorio no permite el acceso directo al mundo exterior.
- clase de arranque
- Navegador introduzca: localhost: 8080 / mostrar
gramática detallada thymeleaf
- Magnitud de salida
th: texto: un valor de salida en la página
th: Valor: el valor en el atributo de valor de la variable de entrada
用户名:<span th:text="${username}"></span>
<hr/>
用户名: <input th:value="${username}"/>
- Thymeleaf objetos integrados (con una cierta objetos incorporados #)
1: manipulación de cadenas cadenas
strings.isEmpty (): determina si la cadena está vacía. Verdadero, falso
strings.startsWith (): determinar si lo que ha sido el comienzo de una cadena. Verdadero, falso
strings.endsWith (): determinar si lo que ha sido el final de la cadena. Es cierto que en false
strings.length (): devuelve la longitud de una cadena
strings.indexOf (): encontrar la posición de la subcadena que ocurre
strings.toUpperCase (): A su vez mayúscula
strings.tolowerCase (): a su vez con una letra minúscula
Strings.substring (): interceptando subcadena
用户名的长度:<span th:text="${#strings.length(username)}"></span>
<hr/>
获取用户名的姓:<span th:text="${#strings.substring(username,0,1)}"></span>
- Fecha de formatear una fechas
dates.format (): el formato por defecto para el navegador como una etiqueta
dates.format (tiempo, 'yyyy-MM -dd hh: mm: ss'): la conversión de un formato personalizado de acuerdo
dates.year ( ): ponerse en
dates.month (): Obtiene el mes
dates.day (): Obtiene día
当前时间:<span th:text="${time}"></span>
<hr/>
格式化日期:<span th:text="${#dates.format(time,'yyyy-MM-dd HH:mm:ss')}"></span>
- El análisis de la condición
1: th: si
controlador:
model.addAttribute("sex", "男");
html:
您可能喜欢:<span th:if="${sex}=='男'">篮球,动漫</span>
-
th: interruptor
th: caso -
Bucle itera sobre
-
th: cada uno
1:迭代遍历list
<table border="1" width="50%">
<tr>
<td>序号</td>
<td>编号</td>
<td>姓名</td>
<td>年龄</td>
</tr>
<!--var:状态变量 index ,count,first last size even odd-->
<tr th:each="user,var:${list}">
<td th:text="${var.count}"></td>
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
</tr>
</table>
2: Iterar a través del mapa
...
- operación de adquisición de datos de destino alcance
//作用域 request,session application
request.setAttribute("req", "HttpServletRequest");
request.getSession().setAttribute("sess", "HttpSession");
request.getSession().getServletContext().setAttribute("app", "ServletContext");
<!--页面部分-->
Request数据:<span th:text="${#httpServletRequest.getAttribute('req')}"></span><br/>
Session数据:<span th:text="${session.sess}"></span><br/>
Application数据:<span th:text="${application.app}"></span><br/>
- Url expresión
TH: el href
TH: la src
TH: Acción
1:. Sintaxis de la expresión {} @
2: Tipo de ruta-
ruta absoluta
-
ruta relativa
-
1:相对于当前项目的根目录 /
<a th:href=”@{/index}”></a>
2: 相对于服务器路径的根目录 ~
<a th:href=”@{~/项目名/资源}”></a>
<!-- 连接 url表达式 -->
<a href="http://www.baidu.com">百度一下</a>
<a th:href="@{http://www.baidu.com}">百度一下</a>
<a th:href="@{/show}">show</a>
<hr/>
<img src="images/3.jpg" />
<img th:src="@{${img}}" />