Pretty Faces 和 Richfaces 的集成

来源:互联网 发布:苹果茶软件 编辑:程序博客网 时间:2024/05/19 18:00

早前用Primefaces 搭配 Pretty Faces的时候一切运行正常并顺利着。但是最近“屎忽痕”,给自己的工程增加了另一个web 模块的实现,想尝试一下richfaces 4 + pretty faces运行的效果(实际上是看rf4出来了想尝尝鲜),不料代码一起来就杯具了。先记录一下代码结构和类库引用:

浏览器的html输出
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Default title</title><link rel="stylesheet" type="text/css"href="/appollo/style/2c-hd-lc-static-layout" /><link rel="stylesheet" type="text/css"href="/appollo/style/2c-hd-lc-static-presentation" /><link type="text/css" rel="stylesheet"href="/appollo/rfRes/skinning.ecss.jsf?db=eAHL6rC8BQAEkAIG" /><link type="text/css" rel="stylesheet"href="/appollo/rfRes/panel.ecss.jsf?db=eAHL6rC8BQAEkAIG&ln=org.richfaces" /></head><body><div id="header"><h3>xXx</h3></div><div id="leftColumn"><div class="rf-p " id="j_idt13"><div class="rf-p-b " id="j_idt13_body">navigator</div></div></div><div id="content"><div id="contentBody"><div class="rf-p " id="j_idt16"><div class="rf-p-b " id="j_idt16_body">内容</div></div></div></div></body></html>

乍看这跟rf 样式表和客户端脚本的输出跟primefaces的输出方式如出一辙,浏览器最终都是通过一个jsf请求向服务器端索取css/javascript。但是出来的效果却相去甚远。

在上文的html中,浏览器无法找到richfaces输出的样式和脚本。通过请求"#{request.contextPath}/appollo/rfRes/skinning.ecss.jsf?db=eAHL6rC8BQAEkAIG"得到的是一个glassfish的http 500错误页。发火


下文代码段是从html输出里面截出的两段样式引用。前者的"href"是我通过在pretty-config.xml里面配置的url mapping所得的,后者是rf的输出。

<link rel="stylesheet" type="text/css"href="/appollo/style/2c-hd-lc-static-presentation" />
<link type="text/css" rel="stylesheet"href="/appollo/rfRes/panel.ecss.jsf?db=eAHL6rC8BQAEkAIG&ln=org.richfaces" />
经过仔细检查配置和库引用,始终没有发现问题所在。Google了关于rf4 和 prettyfaces的不兼容信息,除了找到了fileupload会存在一点问题以外,几乎找不到负面的消息。

最后只好慢慢回头研读pretty faces的配置设置。抓狂最后在文档里发现了如下一段……

我用的容器是glassfish 3.1,兼容servlet 3.0。红字部分是我第一次看的时候直接跳过的。於是就“傻耕耕”噉將嗰段咁嘅死人code paste咗落個web.xml度。鄙视

我果断将web.xml里面这段代码删除,重新打包部署运行,结果自然就是马到功成了。

虽然我还没搞清楚贴上这段代码与否会有什么影响,但事实上的确是有错误产生了。However,知其然不知其所以然总比乃不知其然好。先凑合着玩吧~~

Good night~2 myself~~~~睡觉

原创粉丝点击