用的是JBoss4.0.4GA,在Tomcat5.5上运行通过的JSF DEMO在JBOSS上用不了。出错,报什么NullPointException,查baidu,看到几种方案:
第一种:删除jbossweb-tomcat55.sar/jsf-libs目录
第二种:删除jbossweb-tomcat55.sar/conf/web.xml中的如下定义:
<init-param>
<description>MyFaces tlds</description>
<param-name>tagLibJar0</param-name>
<param-value>jsf-libs/myfaces-impl.jar</param-value>
</init-param>
第三种:不用删除JBOSS的任何东西,修改自己应用的页面的taglib定义,原默认都是:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
改为如下:
<%@ taglib uri="/WEB-INF/html_basic.tld" prefix="h" %>
<%@ taglib uri="/WEB-INF/jsf_core.tld" prefix="f" %>
不过要确保WEB-INF目录下有那两文件。
关于我的测试:
第一方案,试了。之后提示NotFoundClass,说是找不到myface的组件。我一看,又是apache的,就我刚删的那些,删掉的都是apache的JSF实现。
第二方案,没什么效果。
只有第三方案可行。
第一种:删除jbossweb-tomcat55.sar/jsf-libs目录
第二种:删除jbossweb-tomcat55.sar/conf/web.xml中的如下定义:
<init-param>
<description>MyFaces tlds</description>
<param-name>tagLibJar0</param-name>
<param-value>jsf-libs/myfaces-impl.jar</param-value>
</init-param>
第三种:不用删除JBOSS的任何东西,修改自己应用的页面的taglib定义,原默认都是:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
改为如下:
<%@ taglib uri="/WEB-INF/html_basic.tld" prefix="h" %>
<%@ taglib uri="/WEB-INF/jsf_core.tld" prefix="f" %>
不过要确保WEB-INF目录下有那两文件。
关于我的测试:
第一方案,试了。之后提示NotFoundClass,说是找不到myface的组件。我一看,又是apache的,就我刚删的那些,删掉的都是apache的JSF实现。
第二方案,没什么效果。
只有第三方案可行。