使用PrimeFaces遇到的有关问题之四

使用PrimeFaces遇到的问题之四
    在primefaces 2.2RC版本里面,我所接触比较多的是文件的上传,即使用p:fileUpload来上传文件,由于是开始的东西,2.X的版本有各种BUG,其中我遇到的就是在upload文件时候,页面报出"Http Error"这个错误不是HTTP传输的错误,而是在primefaces里面调用一个验证的时候Validate的错误,同时在导出excel和图片方面,2.x的版本也不能很好的支持poi-3.7.jar,若是使用poi-3.2-final.jar又会有实现方面的问题出现。 最终我不得不把2.x的版本升级到现在的3.1的版本。升级时遇到了不少的问题,打算一一列在这篇blog里面。

    1.web.xml配置的改变,在2.x版本里面使用的配置,在3.1里面已经不再需要了,在*可以找到答案。
http://*.com/questions/7581691/primefaces-3-0-m3?s=a2a0b68f-e6a3-4969-8113-26c531b5102c#new-answer
<servlet>
	<servlet-name>Resource Servlet</servlet-name>
	<servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>Resource Servlet</servlet-name>
	<url-pattern>/primefaces_resource/*</url-pattern>
</servlet-mapping>


    2.页面的导入由以前的
xmlns:p="http://primefaces.prime.com.tr/ui"

换成了
xmlns:p="http://primefaces.org/ui"

    3.JSF的标签风格和HTML的冲突问题
替换前的html的界面代码
<table id="counterValues" width="100%">
    ................
</table>
<p:poll update="counterValues" widgetVar="poll1" interval="10" listener="#{alarmUpdateBean.getValues}" />

然后一直报错误
javax.faces.FacesException: Cannot find component with identifier "counterValues" in view.

原因是jsf不能调到html里面的id,解决的办法是在table外面加一个p:p:outputPanel即可