在jsf中有很多页面

时间:2013-07-14 01:31:53

标签: jsf

我是jsf的新手并执行以下操作:例如,我要求用户填写表单,然后提交。提交后,我想表明提交是否成功。为此,我创建了另一个html页面,在提交后,如果成功,我将页面重定向到这个新的成功的html页面。所以,我的项目中有很多网页。我的问题是,这是件坏事吗?有没有其他解决方案我可以尝试而不是创建许多“成功”的页面?我是这样做的:

<h:form>
        <h:panelGrid columns="2">
            <h:outputText value="Select one:"></h:outputText>
            <rich:select  defaultLabel="Select..."  value="#{account.accountCurrency}" >
                <f:selectItem itemValue="a" itemLabel="a" />
                <f:selectItem itemValue="b" itemLabel="b" />
                <f:selectItem itemValue="c" itemLabel="c" />
            </rich:select>

            <h:commandButton value="Submit" action="#{selection.approve}" ></h:commandButton>
        </h:panelGrid>           
    </h:form>

在我的托管bean中,我做了以下操作:

 public void approve() {
   // check whether it is successful, then redirect to successful page
}

由于

2 个答案:

答案 0 :(得分:1)

使用消息组件显示消息。

<h:commandButton value="Submit" actionListener="#{somebean.someMethod}">
    <f:ajax  render="msg"/>
</h:commandButton>
<h:messages id="msg"/>

Java代码:

String msg = "Successfully submitted!";
FacesMessage fm = new FacesMessage(FacesMessage.SEVERITY_INFO, msg, null);
FacesContext.getCurrentInstance().addMessage(null, fm);

答案 1 :(得分:0)

您可以使用复合组件和模板来帮助减少所需的代码量。