`
Rainbow702
  • 浏览: 1073113 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类

以 primefaces.jar 来例说明,JBoss 如何加载 module 中的taglib

阅读更多

新版本的 JBOSS EAP中,通过“module”机制实现对jar包或者其他资源的管理。

本文不是讲解如何使用系统自带module或者自定义module的。这两点可以参照我之前的博文:

http://rainbow702.iteye.com/blog/2065353

 

本文主要是对最近遇到的一个问题进行说明。这个问题是关于 primeface.jar 的使用的,现象是primefaces 的 标签不能正常被 渲染(rendered) 的问题。

 

对于 primefaces 的使用,不管是在官网上找到的sample,还是google出来的sample示例,都需要将 primefaces.jar放置到 APP的 WEB-INF/lib 目录下,这样,在xhtml中使用 "p:"开头的tag时,才会被正确地解析成 primefaces 中对应的tag。

 

但是,为了提高复用性,不想在每个 工程中都放置一个 primefaces.jar。出于这个目的,我们自然而然的会想到使用 JBOSS 的module 机制。所以,二话不说,将 primefaces.jar做成一个单独的module,然后在 jboss-depolyment-structure.xml 中进行引用:

 

<?xml version="1.0" encoding="UTF-8"?>  
<jboss-deployment-structure>  
  <deployment>  
    <dependencies>
      <module name="org.primefaces"/>
    </dependencies>  
  </deployment>  
</jboss-deployment-structure>  

 按正常的理解,并结合之前的经验(上面给出的那篇贴子),认为这样应该就可以了,画面应该能够正常解析 primefaces 的相关标签了。可是,现实是残酷的。当你去打开包含primefaces相关标签的画面时,你会发现画面不是你想像中的结果。然后你可以通过 右击,查看 页面的源代码,会发现,所有 primefaces相关的标签完全没有被解析,还是原样输出。

 

鉴于这个效果,我担心会不会上像这种方式失败了,导致了 primefaces 的jar包没有被成功引入啊。不过 通过查看 JBOSS 的server.log,并未发现有异常。后来,我又自己在后台代码中,写了一个方法,在该方法中,调用了 primefaces 中 class org.primefaces.util.AgentUtils 类中的 isIE() 这个方法,然后将判断结果显示到画面上。发现是能够正常显示的。  这就说明  primefaces 的jar包应该被加载到 JVM 中了。

 

那么,为什么xhtml中的primefaces标签不能被解析呢?

 

这个时候,我想到会不会是因为 primefaces 的tablig 的 声明 xml 文件没有被parse导致系统不认 primefaces 的标签呢? 于是, google了一下。 我去,还真是。遇到同样问题的人还不少。比如:

https://issues.jboss.org/browse/WFLY-1172

这个是官网方的 issue tracker。 虽然这个问题,目前还是 OPEN 的状态,但是我在其下面的回答中,找到一个提示,就是 “meta-inf='export'”。 抱着试试看的态度,试了一下。哎,我去,还真管用。至此,这个问题解决。至于为什么管用,大家可以去看看 primefaces.jar 中 META-INF 目录下的文件就知道了。(没错,primefaces 的 taglib 的 声明 xml 文件就在其中)。

<?xml version="1.0" encoding="UTF-8"?>  
<jboss-deployment-structure>  
  <deployment>  
    <dependencies>
      <module name="org.primefaces" export="true" meta-inf="export"/>
    </dependencies>  
  </deployment>  
</jboss-deployment-structure>

 

 

后记: 我觉着本来这个问题并不是一个很难搞定的问题,但是为什么还是花了很多时间去调查才有结果?我觉得一个原因就是,JBOSS 官网没有一个对 jboss-depolyment-structure.xml 这份配置文件的详细说明,以致于我们对这份配置文件可以配置哪些项,这些项又有哪些属性,这些属性又是干嘛用的,都不清楚。 不像 struct.xml 之类的配置,在网上随便一搜就可以搜到大量配置说明。

 

0
0
分享到:
评论

相关推荐

    primefaces-5.2.jar

    primefaces-5.2.jar

    primefaces jar包

    1. **primefaces-5.2.jar**:这是PrimeFaces库的核心组件,包含了5.2版本的所有组件、事件处理和皮肤样式。此版本支持JSF 2.x,提供了大量的UI组件,如数据表、图表、日期选择器、对话框等,极大地增强了用户界面的...

    primefaces-5.0.jar

    primefaces-5.0.jar

    primefaces-3.4.2.jar

    primefaces 用于JSF开发,轻松实现许多组建功能

    primefaces-3.4.1.jar

    primefaces-3.4.1.jar

    PrimeFaces.zip

    **PrimeFaces.zip** 是一个包含SpringBoot与PrimeFaces整合示例的压缩文件。SpringBoot是一个流行的Java框架,用于简化Spring应用程序的开发,而PrimeFaces是一个功能丰富的JavaScript库,专为JavaServer Faces (JSF...

    primefaces

    &lt;filter-class&gt;org.primefaces.webapp.filter.FileUploadFilter &lt;filter-name&gt;primefaces-file &lt;url-pattern&gt;/* ``` ##### 3.4 HelloWorld示例 创建一个简单的JSF页面,引入PrimeFaces的库,并使用其中的一...

    primefaces-3.1.1-sources.jar

    primefaces-3.1primefaces-3.1.1-sources.jar.1-sources.jar

    primefaces-7.0.jar

    primefaces最新的jar包,7.0版版本的。推荐下载,如果都对学习,应用primefaces的朋友,可以加我QQ:278786226;备注上primefaces即可,相互交流学习

    javax.faces-2.2.0.jar

    javax.faces.jar的高版本在国内网站几乎找不到,因为在研究richfaces 和primefaces,文档中说需要用到javax.faces-2.1.28或者更高版本,无奈百度搜索不到,只有想法在谷歌找,特地分享出来,想要更高版本 联系我!

    primeFaces.zip

    总的来说,PrimeFaces是JSF开发中的重要工具,尤其对于需要创建交互性强、用户体验良好的Web应用来说。配合中文文档,即使不精通英语的开发者也能轻松掌握并利用PrimeFaces的强大功能,提高开发质量和效率。对于公司...

    primefaces 4.x升級5.x 錯誤 排除 isTransformMetadataEnabled()Z1

    3. **重启服务器**:如果你的应用程序服务器(如Tomcat、Jetty等)在升级过程中没有关闭或重启,那么可能需要执行这一操作以确保所有的旧类加载器被释放,新的类加载器能够正确加载新版本的类。 4. **遵循迁移指南*...

    primefaces-ui-0.8.1.jar

    PrimeFaces is an open source library for Java Server Faces Web framework. Main goal of PrimeFaces is to create a component suite containing a rich set of components and ...development of PrimeFaces.

    Primefaces 3.0.x Upgrade 注意事項1

    升级到primefaces-3.0.1.jar可作为临时解决方案。此外,JavaScript代码在XHTML文件中的位置可能会影响其执行效果,需要检查并确保它们在正确的位置。 这些升级注意事项是确保Primefaces 3.0.x平稳过渡的关键步骤。...

    primefaces-3.5.zip

    2. **primefaces-3.5.jar**: 这个JAR文件是PrimeFaces 3.5的核心库,包含了所有预定义的组件、行为和渲染器。开发者在项目中引入这个JAR,就能在JSF页面上使用PrimeFaces的组件。这些组件通过XML标记(如`...

    primefaces 的主题jar包

    适合primefaces开发需要主题包,是在primefaces 网站的下载的,需要请下载,给1 分就行啊。

    ThemeParser:解析PrimeFaces all-themes-1.0.10.jar

    **PrimeFaces与all-themes-1.0.10.jar** PrimeFaces是一个广泛使用的开源Java库,专门用于构建用户界面(UI)在企业级JavaServer Faces(JSF)应用程序中。它提供了大量的UI组件,如表格、图表、对话框、日期选择器...

    primefaces-extensions-0.7.1.zip

    使用Maven作为构建工具,可以通过添加依赖配置来轻松地将PrimeFaces Extensions引入到项目中,这样就可以利用其提供的额外功能,如高级表格功能、拖放支持、富文本编辑器等。 开源项目的特点是开放源代码和社区驱动...

    jquery ui theme zip變成primefaces可以使用的theme jar1

    5. 一旦你有了转换好的JAR文件(例如:sunnytest.jar),在你的PrimeFaces项目中,需要将其添加到类路径中。通常,你会将JAR文件放在Web应用的`WEB-INF/lib`目录下。 6. 接下来,更新你的`web.xml`配置文件,告诉...

Global site tag (gtag.js) - Google Analytics