我正在与使用Netbeans的开发团队合作,但不幸的是,他们正在使用的代码已经被使用古代技术的时间太久了。在最近的一些研究中,我发现了Java的“表达式语言”,我一直在转换我们的一个webapps,用它来构建样式表和脚本文件URL链接,而不是当前的“相对路径”。
例如,我们在webapp根目录中有一个或两个.jsp
文件,在子文件夹中有其他文件,所有这些文件现在都在使用:
<link href="${pageContext.servletContext.contextPath}/assets/css/stylesheet.css" rel="stylesheet" type="text/css"/>
<script src="${pageContext.servletContext.contextPath}/assets/js/script.js" type="text/JavaScript"></script>
Netbeans 8.0.1似乎没有从样式表中获取类;所以即使它在浏览器中正确运行,我的测试项目现在也充斥着“找不到类”的警告信息。
所以我的主要问题(使用Java 6或7):这是一个很好的方法,或者我应该寻找其他选项?否则,这只是一个IDE错误让我无缘无故担心..?
为了清楚起见,我只是刚刚开始将它们拖出Java 6世界..我老实说不清楚为什么,但直到最近他们一直反对依赖应用程序框架和图书馆,选择从头开始编写所有内容;所以这是一个“修复”一些明显问题的尝试,我们目前的应用程序让我们有机会使用更现代的技术重写它们。
答案 0 :(得分:0)
在问题评论中检查BalusC提供的链接后,在线阅读其他一些内容,并在IntelliJ IDEA 15中打开我的测试项目(正确检测CSS类);我很满意使用${pageContext.servletContext.contextPath}
为我的所有网址属性添加前缀没有任何有趣的问题。
我无法使用HTML <base>
标记,因为我们还需要维护对IE8的支持。
@BalusC,感谢您的链接,这有助于澄清我的几个小问题。 :)