我是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
}
由于
答案 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)
您可以使用复合组件和模板来帮助减少所需的代码量。