Fab*_*bio 19 jsf modularity jar facelets jsf-2
是否有可能把JSF2 Facelets文件与普通的内容为JAR从内部如其他Web应用程序中使用<ui:composition template>,<ui:include src>,<cc:implementation>等?如果是,我怎样才能实现这一目标?是否需要一些额外的配置?
Bal*_*usC 31
您可以将公共资源放在/META-INF/resourcesJAR 的文件夹中,该文件夹将被视为/WEB-INF/resourcesWAR的文件夹.
例如
CommonWebProject
|-- META-INF
| |-- resources
| | `-- common
| | |-- css
| | | `-- some.css
| | |-- js
| | | `-- some.js
| | |-- images
| | | `-- some.png
| | |-- components
| | | `-- somecomposite.xhtml
| | |-- someinclude.xhtml
| | `-- sometemplate.xhtml
| |-- faces-config.xml
| `-- MANIFEST.MF
:
Run Code Online (Sandbox Code Playgroud)
然后,JAR的资源如下:
<... xmlns:common="http://xmlns.jcp.org/jsf/composite/common/components">
<h:outputStylesheet library="common" name="css/some.css" />
<h:outputScript library="common" name="js/some.js" />
<h:graphicImage library="common" name="images/some.png" />
<common:somecomposite />
<ui:include src="/common/someinclude.xhtml" />
<ui:composition template="/common/sometemplate.xhtml" />
...
Run Code Online (Sandbox Code Playgroud)
如果要触发JSF2注释扫描仪,以及让你可以把@ManagedBean,@FacesValidator,@FacesConverter并在该项目中的一致为好,然后创建一个兼容JSF2 /META-INF/faces-config.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
</faces-config>
Run Code Online (Sandbox Code Playgroud)
Facelets资源解析器仅在资源/META-INF/resources由于某种原因不存在时,或者当您不使用Servlet 3.0而不是2.5时,或者当您使用早期的JBoss/JSF版本时,它需要META-INF资源解析中的错误.另请参见如何创建模块化JSF 2.0应用程序?举一个具体的例子.
| 归档时间: |
|
| 查看次数: |
15157 次 |
| 最近记录: |