css - h :messages after migration from JSF 1. 1 到 JSF 1.2 的不同结果

标签 css jsf websphere-7 websphere-6

从 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"会创建缩进,但我不知道如何避免这种情况)。我还发现在 layout="table"的情况下生成的 HTML 代码对于 JSF 1.1 和 JSF 1.2 非常不同。

所以我的问题 - 是否可以强制为 WAS 7.0 + JSF 1.2 生成旧式 (JSF 1.1) HTML?我试着用谷歌搜索但找不到答案...

最佳答案

简而言之,JSF 1.1 将把 infoClass和配偶 <span><td>里面, 但 JSF 1.2 会将其放在 <tr> 上.

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

  1. 更改 CSS 声明以将其应用于 <td>相反。

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

    .messages {
        list-style-type: none;
        margin: 0; 
        /* ... */
    }
    

关于css - h :messages after migration from JSF 1. 1 到 JSF 1.2 的不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8400296/

相关文章:

css - 在移动设备上查看时网格容器下的空白

使用 div 的 CSS 布局

java - JSF Activity 目录身份验证

java - JNDI 查找时无法对 com.ibm.ws.naming.urlns.genericURLContextFactory 类型的对象调用方法 getObjectInstance

html - 密码输入是唯一不会在选择时突出显示的字段

html - 输入字段的必需属性不起作用且输入字段颜色未更改

jsf - 读取托管 bean 中的资源包属性

java - 使用 jsf 进行多重 CRUD 的最佳策略

java - 在 Websphere 上无法部署

jakarta-ee - 在哪里可以找到 com.ibm.websphere.asynchbeans.Work 的相关 .jar 文件?