jsf中导入css文件

最近在用JSF用一个项目,可是项目中很多的JSF标签让人摸不着头脑,并且标签里面那很多的属性也是真的够折腾人的。虽然JSF或者PrimeFaces有相应的很多官方文档可以查,但是仅仅就那么一点的描述真的还不能让人很快的上手,只有我们自己去做,去实践一下,才能真真的体验相应标签的用处。这样的话,在遇到jsf问题或bug 的时候改起来也比较快速。
近日,在css标签的练习过程中,想导入相对路径下的css样式文件,可是一直都不能导入成功。网络上查到的导入css等资源的时候写法也是如下:

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

 但是别人的都能成功,为什么自己的一直导入不成功。很是郁闷。 以为是相对路径的问题,把路径改成

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

 得到的结果都是:

<link type="text/css" rel="stylesheet" href="RES_NOT_FOUND" />

 NoT_FounD是个痛苦的结果。
网上找的很多的结果也就是说是可能是相对路径的问题。可是都试过了,为什么还是不行呢。
于是http://www.mkyong.com/jsf2/resources-library-in-jsf-2-0/ 就有了我想要的结果。
原来library是指定到那个目录下的文件。而不是说指明了文件的样式。
原先我的目录结构是:
jsf中导入css文件_第1张图片

看了MKYoung的文章之后,发现根本不用什么resources来指定,只要文件目录层次是对的,那么直接跟上名字就可以了。
设置文件夹目录:

jsf中导入css文件_第2张图片
修改代码

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

 查看output的结果如下:

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

 
 哈哈,成功了。
JSF 中所有的资源文件都是自己特定的目录层次,只要按照规范来的话,写法还有其他的好几种。
 

 

 

 

ref :http://stackoverflow.com/questions/11988415/what-is-the-jsf-resource-library-for-and-how-should-it-be-used

http://www.mkyong.com/jsf2/resources-library-in-jsf-2-0/

http://www.mkyong.com/jsf2/how-to-include-cascading-style-sheets-css-in-jsf/

你可能感兴趣的:(css,JSF)