应用程序中未引用JS文件
我有jsp页面里面调用我的xhtml页面。 我将xhtml映射到facesServlet并使所有资源servlet处于活动状态,因此如果我点击xhtml页面,它会映射所有js和css文件。
如果我点击jsp页面然后那些文件没有引用firebug弹出各种js错误。
为了解决这个问题,我将js和css文件添加到了web文件夹中并且包含并尝试了它们,包括xhtml和jsp页面,但是那些没有被引用,截至目前,如果我直接点击xhmtl页面,那么文件上传工作正常但是如果我去打jsp页面然后最终得到js错误,有没有任何其他方式获取js文件。
这是我如何引用我的js
文件
有什么想法,建议吗?
更新:
我有使用jsf2
创建新页面的要求,我已经创建了xhtml
页面,但是我想得到我的应用程序header
和footer
主题,并且这些是在jsp
中定义的,现在我试图将jsp
集成到xhtml
但是正确地建议一个人不能做到这一点。
尝试如何在Facelets页面中包含JSP页面? 但这不起作用,因为my
标签不被识别,所以最后尝试创建jsp
页面并在其中包含xhtml
页面,这似乎工作,但不是100%。
因为它现在正好如果我直接点击xhtml
页面然后它工作,但如果我点击jsp
页面与header/footer
信息然后icefaces
或说jsf
东西不能100%工作,希望能够澄清我想要实现的目标。
更新2
来自javax.faces.resources
js文件在xhtml页面上被引用但在jsp
页面上没有被引用。
这是webbrowser必须下载那些JS / CSS文件。 服务器不是必须加载/包含那些JS / CSS文件。
因此,您在src
和href
属性中指定的路径将相对于当前请求URL进行解析,如浏览器的地址栏中所示。 它们不会相对于公共webcontent中JSP文件的位置进行解析。
因此,如果您碰巧在请求URL中有上下文路径,就像这样
HTTP://本地主机:8080 / somecontextpath / page.jsp
那么例如你的将由webbrowser从以下URL下载
HTTP://本地主机:8080 / CSS / main.css的
它实际上应该是
HTTP://本地主机:8080 / somecontextpath / CSS / main.css的
相应地修复它。
或者如果你正在使用Facelets
或者,如果您使用的是JSF 2
(以及
组件)
(并将/css
和/js
文件夹放在public webcontent的/resources
子文件夹中)
顺便说一句,以下行绝对没有意义:
你在这里混合了视图技术。 你不能将这一个包含在另一个中。 Facelets是JSP的inheritance者。 使用其中一个。 您可以在1个webapp中混合它们,但不能在1个视图中混合它们。