0

我有一个 JSP 文件,其中使用了许多 CSS 类。我已经在 .css 文件中定义了这些 CSS。如果我不在路径中包含 .css 文件,那么 JSP 将无法按预期工作。在更大的项目中,如何跟踪缺少 .css 文件?我们是否有可以查看/跟踪 CSS 错误的浏览器?

如果我们错过在项目中包含 .css 文件,Firebug 的任何功能都不会给出任何错误。我正在使用 Firebug,但无法使用 firebug 找到 .css 错误文件。我们应该事先知道我们一定错过了包含 .css 文件,这就是 JSP 文件未正确呈现的原因。但是,如果其他人不知道要包含哪个 .css(或任何其他 html、jsp、javascript)文件,那么诸如 FIREBUG 之类的功能会很有用。但是如果 .css firebug 不会给出错误跟踪

4

3 回答 3

0

您可以创建一个 servlet 过滤器来检查.css文件是否从 JSP 输出中引用,并且仅在开发周期中启用它。

@WebFilter("/*")
public class CssCheckFilter implements Filter {

    @Override public void init(FilterConfig config) throws ServletException {  }

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) req;
        HttpServletResponse response = (HttpServletResponse) res;
        HttpSession session = request.getSession(false);

        res. ... // Check the response content here

        chain.doFilter(req, res);
    }

}
于 2013-06-28T11:48:21.147 回答
0

您可以编写一个单元测试,将所有 JSP 加载为纯文本文件,并解析它们的内容以获得 CSS 文件的所需路径。可能是这样的

@Test
public void hasCssFile() {
    for (File file : new File(yourJspFolder).listFiles()) {
        String contents = Files.toString(file, Charset.defaultCharset());
        if(!contents.contains("path/to/css"){
            fail("add Css file to " + file.getName());
        }
    }
}
于 2013-06-28T10:54:43.587 回答
0

Firebug 是一个 Firefox 附加组件(可从此处下载),可用于跟踪 CSS 相关问题。

于 2013-06-28T10:58:14.743 回答