Przeglądaj źródła

Added webjars resolver for bootstrap.

Tom Flucke 7 lat temu
rodzic
commit
513207f1aa

+ 3 - 0
ivy.xml

@@ -10,6 +10,9 @@
     <!-- Spring Framework -->
     <dependency org="commons-logging" name="commons-logging" rev="1.2"/>
     <dependency org="org.springframework" name="spring-webmvc" rev="5.0.9.RELEASE"/>
+    <dependency org="javax.servlet.jsp.jstl" name="jstl-api" rev="1.2" conf="war->default"/>
+    <dependency org="org.webjars" name="angular-ui-bootstrap" rev="2.5.0" conf="war->default"/>
+    <dependency org="org.webjars" name="webjars-locator" rev="0.34" conf="war->default"/>
     <dependency org="javax.servlet" name="javax.servlet-api" rev="4.0.1" conf="provided->default"/>
   </dependencies>
 </ivy-module>

+ 18 - 4
src/name/tflucke/ieat2/WebConfig.java

@@ -1,17 +1,23 @@
 package name.tflucke.ieat2;
- 
+
+import java.util.concurrent.TimeUnit;
+
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.web.servlet.ViewResolver;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 import org.springframework.web.servlet.view.InternalResourceViewResolver;
 import org.springframework.web.servlet.view.JstlView;
- 
+import org.springframework.web.servlet.resource.WebJarsResourceResolver;
+import org.springframework.http.CacheControl;
+
 @Configuration
 @EnableWebMvc
 @ComponentScan(basePackages = "name.tflucke.ieat2")
-public class WebConfig {
+public class WebConfig implements WebMvcConfigurer {
     @Bean
     public ViewResolver viewResolver() {
         InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
@@ -20,5 +26,13 @@ public class WebConfig {
         viewResolver.setSuffix(".jsp");
         return viewResolver;
     }
- 
+
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        registry.addResourceHandler("/static/**")
+            .addResourceLocations("classpath:/META-INF/resources/webjars/")
+            //.setCacheControl(CacheControl.maxAge(0L, TimeUnit.DAYS).cachePublic())
+            .resourceChain(true)
+            .addResolver(new WebJarsResourceResolver());
+
+    } 
 }

+ 3 - 0
web/WEB-INF/tags/navigation.tag

@@ -0,0 +1,3 @@
+<%@tag description="Standard navigation bar" pageEncoding="UTF-8"%>
+
+Hello World

+ 25 - 0
web/WEB-INF/tags/template.tag

@@ -0,0 +1,25 @@
+<%@tag description="Page template" pageEncoding="UTF-8"%>
+
+<%@attribute name="title" fragment="true" %>
+
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>iEat - <jsp:invoke fragment="title"/></title>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <link type="text/css" href="static/bootstrap/css/bootstrap.min.css" type="text/css" rel="stylesheet"/>
+  </head>
+  <body>
+    <div class="container">
+      <header class="page-header">
+        <!--<h1><jsp:invoke fragment="title"/></h1>-->
+        <jsp:navigation/>
+      </header>
+      <div id="body">
+        <jsp:doBody/>
+      </div>
+      <footer>
+      </footer>
+    </div>
+  </body>
+</html>

+ 8 - 14
web/views/index.jsp

@@ -1,14 +1,8 @@
-<%@ page language="java" contentType="text/html; charset=US-ASCII"
-    pageEncoding="US-ASCII"%>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <title>iEat - Home</title>
-  </head>
-  <body>
-    <h1>iEat 2.0</h1>
-    <%@ page import="java.util.Date" %>
-    <span>Current Time is</span>: <%= new Date() %>
-  </body>
-</html>
+<%@page contentType="text/html" pageEncoding="UTF-8"%>
+<%@taglib prefix="t" tagdir="/WEB-INF/tags" %>
+<t:template>
+    <jsp:attribute name="title">Home</jsp:attribute>
+    <jsp:body>
+        <p>Hi I'm the heart of the message</p>
+    </jsp:body>
+</t:template>