提问者:小点点

Twitter Bootstrap 和 Spring MVC


早上好我正在考虑将Twitter Bootstrap与Spring MVC一起使用。我的问题是:不只是导入Bootstrap文件并在不同的文件jsp中声明它们吗?

因为看下一页https://samerabdelkafi.wordpress.com/2014/09/17/bootstrap-3/您可以看到它们是如何注入依赖项bootstrap和jquery(jar文件)的:

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>bootstrap</artifactId>
    <version>3.2.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.webjars</groupId>
            <artifactId>jquery</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>2.1.1</version>
</dependency>

然后强制/webjars/**的资源处理程序将其与引导程序-3.2.0.jar中的类路径/META-INF/resources/webjars/关联:

@EnableWebMvc
@Configuration
@ComponentScan(basePackages = { "com.mycompany.myproject.web.controller" })
public class MvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
................. 

}

Jsp页面将引用引导程序:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="initial-scale=1, maximum-scale=1">
    <link rel='stylesheet' href='webjars/bootstrap/3.2.0/css/bootstrap.min.css'>
</head>
<body>

    <!-- YOUR CODE HERE -->

<script type="text/javascript" src="webjars/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script type="text/javascript" src="webjars/jquery/2.1.1/jquery.min.js"></script>
</body>
</html>

总结我的问题是:应该采取什么路径添加到项目Bootstrap Spring MVC中?

谢谢


共1个答案

匿名用户

我不知道它是否完全回答了你的问题,这只是我的个人意见(除了Bootstrap之外,主要基于处理外部Dandelion Datatables库),但是我一点也不喜欢webjars。这是因为现代JavaScript库经常试图自己处理依赖关系,而webjars可能会有点混乱。可能会有这样的情况,当你在webjars中声明某个东西时,应用程序会突然尝试从CDN或其他网页下载库。

添加新版本的库更重要的是,您必须(在您的情况下)执行额外的Maven构建。当你只想切换到例如最小化版本时,这有时有些过头了。但这只是我个人的看法。