【问题标题】:JSF 2.0 , How to vertically allign children of tomahawk datalistJSF 2.0,如何垂直对齐战斧数据列表的子项
【发布时间】:2011-09-20 04:59:38
【问题描述】:

我正在使用 t:datalist 和 JSF 2.0 来水平对齐图像。但我想垂直列出图像下方每个图像的属性。现在这些属性也与图像一起水平列出。我使用的代码是:

    <t:dataList var="item" value="#{listItems.dataList}" id="listItems"> 
                        <h:graphicImage url="#{item.prodFileName}" width="100" height="100" />
                        <h:outputText value="#{item.prodName}" />
                        <h:outputText value="#{item.prodPrice}" />
            </t:dataList>

我无法在数据列表中使用纯 html 表格标记来列出图像下方的名称和价格属性。经过一番搜索,找到了一个名为 f:verbatim 的标签,但我也无法让它工作。也尝试将 html 表格标签放在 panelGroup 中。

【问题讨论】:

    标签: jsf datalist tomahawk


    【解决方案1】:

    将它们包裹在一个左浮动的&lt;div&gt; 中,并将行放在图像下方&lt;br&gt;

    <t:dataList var="item" value="#{listItems.dataList}" id="listItems"> 
        <div class="box">
            <h:graphicImage url="#{item.prodFileName}" width="100" height="100" />
            <br /><h:outputText value="#{item.prodName}" />
            <br /><h:outputText value="#{item.prodPrice}" />
        </div>
    </t:dataList>
    

    以这个 CSS 为例

    .box {
        float: left;
        margin: 5px;
        padding: 5px;
        border: 1px solid gray;
    }
    

    只需确保在包含元素上有一个clear: left;,这样浮动就不会超出容器。


    与问题无关,请记住 &lt;f:verbatim&gt; 在 JSF 2 中已弃用。您不应再使用它。你也不再需要它了。在 JSF 1.0/1.1 中,该标记是强制​​性的,以便能够在 JSF 页面中使用纯 HTML 标记。从 JSF 1.2 开始,它不再是强制性的。您可以在 JSF 页面中内联 HTML 标记,而无需摆弄&lt;f:verbatim&gt;

    【讨论】:

    • 这也像无序列表布局一样垂直显示图像。我需要显示的图像有点像 perfume2order.com/Products/Men.html 中的图像,名称和价格就在每张图像的下方。
    • 嗯,对了,添加一些CSS来控制样式。我编辑了示例。
    • 谢谢。这很有效。我想获得与此上下文相关的其他信息。我有一些没有图像的产品,而且看起来很小。即使没有图像,我可以插入哪个组件来固定大小的盒子?
    • 在 CSS 中给 &lt;div&gt; 一个固定的 widthheight。例如。将width: 200px; height: 300px; 添加到.box {} 或其他内容。我建议花点时间学习 CSS:csstutorial.net
    • @BalusC,老兄,你的 JSF 知识是传奇!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 2020-05-18
    • 2016-02-16
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多