0
我做了一個小的web應用程序,我想在索引頁的底部添加積分註釋。從WAR文件的html頁面中移除註釋很容易。所以我想我可以修改資源 '的index.html' 是這樣的:如何修改Spring Boot中的靜態資源index.html?
public class MainPageTransformer implements ResourceTransformer {
@Override
public Resource transform(HttpServletRequest request, Resource resource, ResourceTransformerChain transformerChain) throws IOException {
String html = IOUtils.toString(resource.getInputStream(), UTF_8);
html = html.replace("</body>", "<div style=\"position: absolute; bottom: 5px;\">Autor</div>\n</body>");
return new ByteArrayResource(html.getBytes());
}
}
...和:執行MainPageTransformer.transform方法
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/client/index.html")
.addResourceLocations("classpath:/static/client")
.resourceChain(false)
.addTransformer(new MainPageTransformer());
}
}
後,它拋出異常:
java.io.FileNotFoundException: Byte array resource [resource loaded from byte array] cannot be resolved to absolute file path
at org.springframework.core.io.AbstractResource.getFile(AbstractResource.java:114)
at org.springframework.core.io.AbstractResource.getFileForLastModifiedCheck(AbstractResource.java:169)
at org.springframework.core.io.AbstractResource.lastModified(AbstractResource.java:153)
at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:240)
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
我該怎麼做?有沒有更好的方法來實現我的目標?非常感謝!
驚人的這是多麼難找到哈哈。我想這不是一個特別常見的用例。感謝分享! – misaka