我有一个JSP文件,其中我使用了很多CSS类。 我在.css文件中定义了那些CSS。如果我没有在路径中包含.css文件,那么JSP将无法按预期工作。在更大的项目中,我如何追踪缺少.css文件? 我们有任何浏览器可以查看/跟踪CSS错误吗?
如果我们错过在项目中包含.css文件,Firebug的任何功能都不会出现任何错误。我使用的是Firebug,并且使用firebug无法找到.css错误文件。我们应该事先知道我们必须错过包含.css文件,这就是为什么JSP文件没有正确呈现的原因。但是,如果其他人不知道哪个.css(或任何其他html,jsp,javascript)文件被包含在内,那么像FIREBUG这样的功能是有用的。但是在.css的情况下,firebug不会给出错误跟踪
答案 0 :(得分: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());
}
}
}
答案 1 :(得分:0)
Firebug是一个Firefox附加组件(可从here下载),可用于跟踪CSS相关问题。
答案 2 :(得分:0)
您可以创建一个servlet过滤器,用于检查是否从JSP输出引用了.css
文件,并且仅在开发周期中启用它。
@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);
}
}