【发布时间】:2011-12-06 13:00:25
【问题描述】:
从 WAS 6.0 + JSF 1.1 迁移到 WAS 7.0 + JSF 1.2 后,页面呈现出现问题。主要问题出在以下代码中:
<h:messages rendered="#{!webData.facesMessagesEmpty}" styleClass="messages"
showSummary="true" showDetail="false" title="Messages" layout="table" id="eMessages"
infoClass="info_with_icon" warnClass="warn_with_icon" errorClass="error_with_icon"
fatalClass="fatal_with_icon" />
此代码在 WAS 6.0 + JSF 1.1 下正常工作,但在 WAS 7.0 + JSF 1.2 下不使用样式。我做了一点调查,发现这个问题只针对layout="table"。如果我使用 layout="list" 那么样式就可以了。不幸的是,我在这里需要表格(因为 layout="list" 创建缩进,我不知道如何避免这种情况)。我还发现,对于 JSF 1.1 和 JSF 1.2,在 layout="table" 的情况下生成的 HTML 代码非常不同。
所以我的问题 - 是否可以强制为 WAS 7.0 + JSF 1.2 生成旧式 (JSF 1.1) HTML?我尝试谷歌搜索但找不到答案...
【问题讨论】:
-
AFAIK 生成的 HTML 输出应该没有区别。您能否显示导致问题的两个 JSF 1.x 版本的生成 HTML 输出的相关部分?至于使用列表,缩进和项目符号很容易通过一点 CSS 删除。这个解决方案也可以接受吗?
-
JSF 1.1 生成此代码:
<table id="eMessages"> <tbody> <tr> <td> <span class="info_with_icon">Number of TP found is: 0</span> </td> </tr> </tbody> </table>JSF 1.2<ul id="eMessages" class="messages" title="eMessages"> <li class="info_with_icon_messages"> Number of TP found is: 0 </li> </ul>当我使用列表布局时(表格布局由于某种原因没有带样式,所以我不能使用它)。 -
CSS 类:-.info_with_icon_messages { - -moz-background-clip:边框; -moz-background-origin:填充; -moz-背景大小:自动自动;背景附件:滚动;背景颜色:透明;背景位置:0 0;背景重复:不重复;颜色:蓝色;浮动:无;列表样式图像:无;列表样式位置:外部;列表样式类型:无;文本缩进:15px;所以没有第二种风格的项目符号,但我仍然看到缩进。有什么办法可以不缩进吗?
-
我更多的是要求表格布局的差异。请编辑您的问题以显示生成的 JSF 1.1 和 1.2 的 HTML,以防
layout="table"。 -
嗨BalusC,再次:JSF1.1
<table id="eMessages"> <tbody> <tr> <td> <span class="info_with_icon">Number of TP found is: 0</span> </td> </tr> </tbody> </table>JSF1.2(这次有表格布局)<table id="eMessages" class="messages"> <tbody> <tr class="info_with_icon_messages"> <td> Number of TP found is: 0 </td> </tr> </tbody> </table>据我了解,不能有类属性,我的浏览器没有在这种情况下显示来自“info_with_icon_messages”的任何样式。
标签: css jsf websphere-7 websphere-6