spring mvc - formulario - SpringMVC+Thymeleaf, el mensaje de error es: es posible que la plantilla no exista o que no sea accesible por cualquiera de los Resolutores de plantillas configurados
thymeleaf spring (3)
¿Necesitas una resolución de plantilla?
Pruebe algo como esto:
<bean id="templateResolver"
class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<property name="prefix" value="/WEB-INF/" />
<property name="templateMode" value="HTML5" />
</bean>
Asegúrese de que /path/after/web-inf/login.html esté siendo devuelto por un controlador Spring MVC.
He leído las otras respuestas, pero no importa, gracias
Primavera:
<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
</bean>
<bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine" />
<property name="order" value="1" />
</bean>
pom.xml:
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>2.0.13</version>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring3</artifactId>
<version>2.0.13</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
<scope>compile</scope>
</dependency>
org.thymeleaf.exceptions.TemplateInputException: Error al resolver la plantilla "login.html", es posible que la plantilla no exista o que no pueda acceder a ninguna de las plantillas configuradas.
Es probable que te falte la propiedad "sufijo" dentro de la configuración del templateResolver. Debería ser una buena práctica usar un "prefijo" de ruta (donde se encuentra el archivo) y un "sufijo" (la extensión de archivo; de lo contrario, thymeleaf intenta resolver simplemente "iniciar sesión" sin una extensión) dentro de la configuración de resolución de plantilla . Al igual que:
<beans:bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".html" />
<beans:property name="templateMode" value="HTML5" />
<beans:property name="cacheable" value="false" /> <!-- Development only -->
</beans:bean>
Y solicitar la vista de inicio de sesión dentro de un controlador no incluye la extensión del archivo.
@RequestMapping(value = "/login")
public String login(HttpSession session) {
// do stuff
// Thymeleaf (delegated by springmvc) will request the "login" view at which
// point the prefix and suffix are added to resolve the template location.
return "login";
}
Por lo tanto, en función de esta configuración y dentro de un proyecto basado en maven, el archivo login.html debe ubicarse en
${project_home}/src/main/webapp/WEB-INF/views/login.html
Tal vez eliminar la barra "/" en la asignación de controlador funcione.
@RequestMapping(value = "login")