在JSF中如何隐藏resultBean直到doAction执行?

时间:2011-07-21 14:14:00

标签: jsp jsf

我在JSF页面中添加了一个Web服务。页面应该接受一些输入,并在单击提交按钮后给出一些输出。 我的问题是,在点击按钮之前,页面上显示一个空白。如果表单为空,我想知道如何隐藏它。

以下是我的jsp代码

    <h:form styleClass="form" id="form1">
        <table>
            <tbody>
                <tr>
                    <td align="left">Number:</td>
                    <td><h:inputText styleClass="inputText" id="trainNumber1"
                        value="#{xxx_PortType_Display.paramBean.Request.Number}">
                    </h:inputText></td>
                </tr>
            </tbody>
        </table>
        <hx:commandExButton id="buttonDoAction1" styleClass="commandExButton"
            type="submit" value="Submit"
            action="#{xxx_PortType_Display.doAction}">
        </hx:commandExButton>
        <table>
            <tbody>
                <tr>
                    <td align="left">Result:</td>
                    <td><h:outputText styleClass="outputText" id="quotaCount1"
                        value="#{xxx_PortType_Display.resultBean.result}">
                    </h:outputText></td>
                </tr>
            </tbody>
        </table>
    </h:form>

我不想在单击doAction执行/按钮之前显示“结果:”。

由于

2 个答案:

答案 0 :(得分:1)

使用rendered属性。

<h:panelGroup rendered="#{not empty xxx_PortType_Display.resultBean.result}">
    <table>
        <tbody>
            <tr>
                <td align="left">Result:</td>
                <td><h:outputText styleClass="outputText" id="quotaCount1"
                    value="#{xxx_PortType_Display.resultBean.result}">
                </h:outputText></td>
            </tr>
        </tbody>
    </table>
</h:panelGroup>

答案 1 :(得分:0)

输出结果:通过outputText并使用渲染属性。 更好的是,将整个部分的结果放入某个组件并设置在该组件上。