Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

552
Vistas
Cargue recursos estáticos en Spring Boot con Thymeleaf

Quiero hacer una página usando thymeleaf . Pero tengo un problema con los archivos estáticos. Investigué las preguntas ( 1 , 2 , 3 ) con un problema similar, pero no me ayudó.

Uso el marco Spring Boot en la aplicación. Mis archivos se ven como: ingrese la descripción de la imagen aquí

prueba.html

 <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <script src="js/test.js" th:src="@{/test.js}"/> </head> <body> <button onclick="testFunction('test value')">Button</button> </body> </html>

prueba.js

 function testFunction(test) { console.log(test); }

Clase de configuración

 @Configuration @EnableWebMvc public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**").addResourceLocations("classpath:/static/js/"); super.addResourceHandlers(registry); } }

Y problema, cuando cargo el archivo test.html con javascript no cargado.

 @GetMapping(value = "web/test") public String getTestHtmlPage() { return "test"; }

ingrese la descripción de la imagen aquí

/api/v1 es una configuración en application.properties => server.servlet-path=/api/v1

¿Qué hago mal? ¿Me puedes ayudar?

¡Gracias a todos!

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Para comprender mejor el registry.addResourceHandler("/**").addResourceLocations("classpath:/static/js/");

Escribí una respuesta más completa aquí que analiza las asignaciones de ubicación de recursos no válidas. No recibió votos a favor, así que espero que no sea terrible. :-)

En resumen, con la forma en que está mapeando classpath:/static/js/ , y luego accediendo a /js/test.js , le está diciendo a Spring que busque en /static/js/js/test.js .

Lo que probablemente quieras es classpath:/static/ . En ese caso, cuando intenta acceder a /js/test.js , busca el archivo en /static/js/test.js .

En cuanto a Thymeleaf, nunca lo he usado, pero los documentos indican que debe cargar scripts con th:src en lugar de th:href . th:href parece ser solo para contenido HTML.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda