0

JSF 2 Panel 网格与 HTML 表格的优势是什么?

例如

<h:panelGrid columns="1">
 <h:outputText value="Hello"/>
</h:panelGrid>

对比

<table>
<tr>
<td>
 <h:outputText value="Hello"/>
</td>
</tr>
</table>
4

1 回答 1

1

"h:panelGrid"JSF 中的标签用于生成 HTML 表格标签。它将 JSF 组件放置在行和列布局中。使用它的好处是您不必键入所有这些 html 标记。

例如,在这里你必须在你的编码中输入所有这些 html 标签,

<table>
<tbody>
<tr>
    <td>
        Enter a Phone number : 
    </td>       
    <td>
        <h:inputText id="input1" value="#{bean.input1}" 
            size="20" required="true"
            label="Number" >
            <f:convertNumber />
        </h:inputText>
    </td>
    <td>
        <h:message for="input1" style="color:red" />
    </td>
</tr>
</tbody>
</table>

但同样的事情可以通过键入以下内容使用“h:panelGrid”来完成,

<h:panelGrid columns="3">
    Enter a Phone number : 
    <h:inputText id="input1" value="#{bean.input1}" 
        size="20" required="true"
        label="Number" >
        <f:convertNumber />
    </h:inputText>
    <h:message for="input1" style="color:red" />
</h:panelGrid>

JSF doc提供了更多细节,panelGrid 也有一些限制。对齐各种面板非常容易,并且您可以在面板中拥有 JSF 表单控件(),而无需 UI 开发人员的太多帮助。

PanelGrid 的限制之一是:应用 CSS 样式并不容易。您需要寻找替代解决方案。但是使用标准的 html 标签可以很容易地应用 CSS 样式。JSF2 Primefaces 提供了主题,但在实时应用程序开发中我无法避免 CSS 样式。但是使用 PanelGrid,您几乎可以使用任何适合 PanelGrid 呈现的 html 的 JSF 控件。

于 2012-12-04T09:48:18.273 回答