【问题标题】:JSP not accessing static content for more then one pageJSP 不访问静态内容超过一页
【发布时间】:2017-08-28 12:24:57
【问题描述】:

我在webapp/ 中有css,js,... other static 页面,我为它们创建了一个单独的文件theme.jsp,内容为:

<!-- Bootstrap CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- bootstrap theme -->
<link href="css/bootstrap-theme.css" rel="stylesheet">
<!--external css-->
<!-- font icon -->
<link href="css/elegant-icons-style.css" rel="stylesheet" />
<link href="css/font-awesome.min.css" rel="stylesheet" />
<!-- Custom styles -->
<link href="css/style.css" rel="stylesheet">
<link href="css/style-responsive.css" rel="stylesheet" />

现在的问题是我无法在多个 jsp 页面中访问此内容

我使用的是spring,下面是我的servlet配置

@Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        LOG.debug("++++++++++++++++++++++++++++Default Servlet Configuration Enabled");
        configurer.enable();
    }
@Bean
    public ViewResolver viewResolver() {
        LOG.info("++++++++++++++ Configuring View resolver");
        InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
        internalResourceViewResolver.setViewClass(JstlView.class);
        internalResourceViewResolver.setPrefix("/WEB-INF/views/");
        internalResourceViewResolver.setSuffix(".jsp");
        internalResourceViewResolver.setCache(false);
        LOG.info("++++++++++++++ View resolver Configuration: Done");
        return internalResourceViewResolver;
    }

@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/css/**").addResourceLocations("/css/");
    }

你能指导我如何解决这个问题,所以我可以访问所有jsp's中的静态内容

编辑:考虑我在css/style.css 中有一个css 文件,我将在整个项目中使用它。因此我创建了一个名为theme.jspjsp,它只包含指向我的css 资源的链接。我面临的问题不是我能够在一个 jsp 中访问此 css/style.css,但在其他 jsp 中我无法调用。即使我复制jsp 文件,我也没有得到任何结果

【问题讨论】:

  • 你的解释有点不清楚。你能解释一下你想用theme.jsp做什么吗?你的要求是什么?
  • 您可以在其他 JSP 中包含 theme.jsp
  • @user7294900 是的,先生,它在我的一页中运行良好,但页面不工作
  • @user7036414 这样你就可以添加 theme.jsp 了,它的目的是包含所有的 css 文件。 (它在我的一页中工作正常,但页面不工作)-> 什么不工作?请说清楚。
  • @RahulRaj 它只工作在一个jsp

标签: java css spring jsp


【解决方案1】:

创建您的自定义 jsp 标签并在该标签中定义所有常用文件:

<%@tag description="Overall Page template" pageEncoding="UTF-8"%>
<%@attribute name="header" fragment="true" %>
<%@attribute name="footer" fragment="true" %>
<html>
  <body>
    <div id="pageheader">
      <jsp:invoke fragment="header"/>
    </div>
    <div id="body">
      <jsp:doBody/>
    </div>
    <div id="pagefooter">
      <jsp:invoke fragment="footer"/>
    </div>
  </body>
</html>

WEB-INF/tags/customtag.tag 中定义这个标签 要使用它:

在你的jsp页面中导入

【讨论】:

    猜你喜欢
    • 2019-09-19
    • 2021-09-27
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多