猿问

什么是JSF资源库以及如何使用它?

什么是JSF资源库以及如何使用它?

在JSF <h:outputStylesheet><h:outputScript><h:graphicImage>组件具有library属性。这是什么以及如何使用它?网上有很多例子,它们使用如下公共内容/文件类型cssjs以及img(或image)作为库名,取决于使用的标记:

<h:outputStylesheet library="css" name="style.css" />

<h:outputScript library="js" name="script.js" />

<h:graphicImage library="img" name="logo.png" />

它有用吗?library这些示例中的值似乎只是重复标记名称已经表示的内容。对于<h:outputStylesheet>它来说,基于标签名称已经很明显它代表了一个“CSS库”。与以下内容有什么不同,它们的工作方式相同?


<h:outputStylesheet name="css/style.css" />

<h:outputScript name="js/script.js" />

<h:graphicImage name="img/logo.png" />

此外,生成的HTML输出有点不同。给定URL模式的上下文路径/contextname和FacesServlet映射*.xhtml,前者生成以下HTML,其库名称为请求参数:


<link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/style.css.xhtml?ln=css" />

<script type="text/javascript" src="/contextname/javax.faces.resource/script.js.xhtml?ln=js"></script>

<img src="/contextname/javax.faces.resource/logo.png.xhtml?ln=img" alt="" />

而后者在URI的路径中生成以下带有库名的HTML:


<link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/css/style.css.xhtml" />

<script type="text/javascript" src="/contextname/javax.faces.resource/js/script.js.xhtml"></script>

<img src="/contextname/javax.faces.resource/img/logo.png.xhtml" alt="" />

后一种方法在事后看来也比前一种方法更有意义。该library属性究竟有用吗?


慕森王
浏览 757回答 1
1回答
随时随地看视频慕课网APP
我要回答