Primavera Boot capa de vista de integración thymeleaf

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

  1. El proyecto creado thymeleaf (proyecto maven del tipo frasco de proyecto de arranque de primavera)
    Aquí Insertar imagen Descripción
  2. Abra el archivo pom.xml, añadir a coordinar el arranque
    Aquí Insertar imagen Descripción
    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>
  1. Controlador Controlador Escrito
    Aquí Insertar imagen Descripción

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";
	}
}

  1. 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.
    Aquí Insertar imagen Descripción
  2. clase de arranque
    Aquí Insertar imagen Descripción
  3. Navegador introduzca: localhost: 8080 / mostrar
    Aquí Insertar imagen Descripción

gramática detallada thymeleaf

  1. 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}"/> 

  1. 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>

  1. 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>

  1. El análisis de la condición
    1: th: si

controlador:

model.addAttribute("sex", "男");

html:

您可能喜欢:<span th:if="${sex}=='男'">篮球,动漫</span> 
  1. th: interruptor
    th: caso

  2. Bucle itera sobre

  3. 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
...

  1. 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/>
  1. Url expresión
    TH: el href
    TH: la src
    TH: Acción
    1:. Sintaxis de la expresión {} @
    2: Tipo de ruta
    1. ruta absoluta

    2. 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}}"  />

Supongo que te gusta

Origin www.cnblogs.com/joker-dj/p/12657533.html
Recomendado
Clasificación