1

从 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?我试图谷歌它,但找不到答案...

4

1 回答 1

1

简而言之,JSF 1.1 将and infoClassconsorts<span>放在.<td><tr>

看起来您正在使用<tr>元素不支持的非常特定的 CSS 属性。在这种情况下,您基本上有两个选择:

  1. 更改 CSS 声明以应用它<td>

    .info_with_icon_messages td {
        /* ... */
    }
    
  2. <h:messages>将布局更改为 alist并在生成的类上添加以下 CSS 属性<ul>,在您的情况下.messages,以删除项目符号和缩进:

    .messages {
        list-style-type: none;
        margin: 0; 
        /* ... */
    }
    
于 2011-12-06T14:57:42.090 回答