我正在开发一个使用OcpSoft重写的JSF 2.2应用程序,以将我的应用程序公开到上下文根目录/ myapp:
.addRule(Join.path("/myapp/{resource}").to("/{resource}"))
.where("resource")
.matches(".*")
这对于所有<h:outputStylesheet library="css" name="theme/my-theme.css"/>
这样的JSF组件都适用。结果HTML标记将重写为/ myapp:<link type="text/css" rel="stylesheet" href="/myapp/javax.faces.resource/theme/my-theme.css.jsf?ln=css">
。
但是我也正在为<ui:composition>
使用不受我控制的模板。在此模板中,有一个标签<link rel="stylesheet" type="text/css" href="#{resource['sass:theme/classic/template-theme.css']}" />
。结果HTML标记不会被重写:<link rel="stylesheet" type="text/css" href="/javax.faces.resource/theme/classic/template-theme.css.jsf?ln=sass">
。
我的应用程序是通过代理服务器寻址的,该代理服务器由于其路由规则而对404根上下文进行了响应,而没有/ myapp。
是否可以重写在纯HTML标记中定义的URL?