Jquery ui 使用jQuery UI和OpenLayers JS/CSS文件而不改变图像路径
我正在为我的新项目使用openlayers、query、query ui。我已使用以下方法包含js文件:Jquery ui 使用jQuery UI和OpenLayers JS/CSS文件而不改变图像路径,jquery-ui,jsf-2,richfaces,openlayers,facelets,Jquery Ui,Jsf 2,Richfaces,Openlayers,Facelets,我正在为我的新项目使用openlayers、query、query ui。我已使用以下方法包含js文件: <ui:define name="content"> <h:outputScript name="/js/openlayers/OpenLayers.js"/> <h:outputStylesheet name="/css/jquery-ui-1.8.22.custom.css" ></h:outputStylesheet&g
<ui:define name="content">
<h:outputScript name="/js/openlayers/OpenLayers.js"/>
<h:outputStylesheet name="/css/jquery-ui-1.8.22.custom.css" ></h:outputStylesheet>
<h:outputStylesheet name="/js/jquery/css/jquery_table.css" ></h:outputStylesheet>
<h:outputStylesheet name="/js/jquery/css/modal.css" ></h:outputStylesheet>
<h:outputScript name="/js/jquery/jquery.js"/>
<h:outputScript name="/js/jquery/jquery-ui-1.8.22.custom.min.js"/>
</ui:define name="content">
也无法加载jquery图像:
"NetworkError: 404 - http://localhost:8282/ProjectX/javax.faces.resource/css/images/ui-bg_glass_75_e6e6e6_1x400.png"
ui-bg_...400.png
"NetworkError: 404 - http://localhost:8282/ProjectX/javax.faces.resource/css/images/ui-bg_highlight-soft_75_cccccc_1x100.png"
ui-bg_...100.png
"NetworkError: 404 - http://localhost:8282/ProjectX/javax.faces.resource/css/images/ui-icons_888888_256x240.png"
我可以使用以下方式加载png图像:
http://localhost:8282/ProjectX/javax.faces.resource/css/images/ui-bg_glass_75_e6e6e6_1x400.png.xhtml
此外,我还可以通过以下方式查看样式:
http://localhost:8282/ProjectX/javax.faces.resource/js/openlayers/theme/default/style.css.xhtml
当我使用openlayers手动包含此样式(style.css)时,尝试再次加载渲染错误如何在不改变路径的情况下存储openlayer、jquery图像和css等额外文件、图像?
图:我的资源文件夹结构
编辑:
添加URL模式和omnifaces后:
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
<url-pattern>/javax.faces.resource/*</url-pattern>
<url-pattern>/rfRes/*</url-pattern>
</servlet-mapping>
如何在不改变路径的情况下存储openlayer、jquery图像和其他文件(如css、图像)
您可以使用UnmappedResourceHandler
进行此操作。有关使用说明,请参见
装置
要使其运行,需要在faces-config.xml中注册此处理程序,如下所示:
网络错误:404未找到-本地主机:8282/ProjectX/rfRes/skining.ecss?db=eAG7mShzEgAFjAIg。我认为它无法加载richfaces蒙皮。有什么建议吗?你在问题中没有提到你正在使用RichFaces,所以我在回答中没有考虑到这一点。顺便说一句,当RichFaces已经绑定jQuery时,手动包含jQuery也很奇怪。这只会导致jQuery版本冲突和各种颜色的JS错误。无论如何。。。尝试将URL模式/rfRes/*
添加到映射中。我承认我从未在RichFaces上测试过,但理论上应该是可行的。看起来它与RichFaces不兼容。好吧,如果你想坚持使用RichFaces(尽管出于某种原因,它做的很多事情与标准不同),那么你需要回到CSS文件中的{resource}
引用。
http://localhost:8282/ProjectX/javax.faces.resource/js/openlayers/theme/default/style.css.xhtml
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
<url-pattern>/javax.faces.resource/*</url-pattern>
<url-pattern>/rfRes/*</url-pattern>
</servlet-mapping>
"NetworkError: 404 - http://localhost:8282/ProjectX/GISPages/Alarms/RES_NOT_FOUND"
RES_NOT_FOUND
"NetworkError: 500 - http://localhost:8282/ProjectX/rfRes/datatable.ecss?db=eAG7mShzEgAFjAIg&ln=org.richfaces"