我最近开始在ICEFaces FrameWork(Server#Glassfish)中使用JSF。 我有一个问题。
在我的第一个JSF页面中,我有单选按钮,如果我选择并单击下一页,我必须在第二页中发布这些选定的值。如果我点击后退按钮,我必须在我的第一页显示所选值。
我怎样才能做到这一点?请建议
我的第一页(suites.xhtml)。
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ace="http://www.icefaces.org/icefaces/components">
<ui:composition template="/WEB-INF/templates/template.xhtml">
<ui:param name="title" value="Eclipse Template Test Page" />
<ui:param name="companyName" value="Autoexetc" />
<ui:define name="menuItems">
<ace:menuItem value="Dashboard" url="/dashboard.jsf" icon="ui-icon ui-icon-home"
styleClass="menuBarItem" />
<ace:menuItem value="Suites" url="/suites.jsf" styleClass="menuBarItem" />
<ace:menuItem value="Status" url="/status.jsf" styleClass="menuBarItem" />
<ace:menuItem value="Report" url="#" styleClass="menuBarItem" />
<ace:menuItem value="Terminal" url="#" styleClass="menuBarItem" />
</ui:define>
<ui:define name="tabItems">
Your in Suites Page <h:commandButton value="Back To DashBoard" action="dashboard" />
<br></br>
1. Hard-coded with "f:selectItem" :
<h:selectOneRadio value="#{user.favColor1}">
<f:selectItem itemValue="Red" itemLabel="Color1 - Red" />
<f:selectItem itemValue="Green" itemLabel="Color1 - Green" />
<f:selectItem itemValue="Blue" itemLabel="Color1 - Blue" />
</h:selectOneRadio>
<br />
2. Generated by Map :
<h:selectOneRadio value="#{user.favColor2}">
<f:selectItems value="#{user.favColor2Value}" />
</h:selectOneRadio>
<br />
3. Generated by Object array and iterate with var :
<h:selectOneRadio value="#{user.favColor3}">
<f:selectItems value="#{user.favColor3Value}" var="c"
itemLabel="#{c.colorLabel}" itemValue="#{c.colorValue}" />
</h:selectOneRadio>
<br />
<h:commandButton value="Submit" action="status" />
<h:commandButton value="Reset" type="reset" />
</ui:define>
</ui:composition>
</html>
和我的结果页面(status.Xhtml),它提供我选择的值。
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ace="http://www.icefaces.org/icefaces/components">
<ui:composition template="/WEB-INF/templates/template.xhtml">
<ui:param name="title" value="Eclipse Template Test Page" />
<ui:param name="companyName" value="Autoexetc" />
<ui:define name="menuItems">
<ace:menuItem value="Dashboard" url="/dashboard.jsf" icon="ui-icon ui-icon-home"
styleClass="menuBarItem" />
<ace:menuItem value="Suites" url="/suites.jsf" styleClass="menuBarItem" />
<ace:menuItem value="Status" url="/status.jsf" styleClass="menuBarItem" />
<ace:menuItem value="Report" url="#" styleClass="menuBarItem" />
<ace:menuItem value="Terminal" url="#" styleClass="menuBarItem" />
</ui:define>
<ui:define name="tabItems">
Your in status Page <h:commandButton value="Back To suites" action="suites" />
<br/>
<ol>
<li>user.favColor1 : #{user.favColor1}</li>
<li>user.favColor2 : #{user.favColor2}</li>
<li>user.favColor3 : #{user.favColor3}</li>
</ol>
</ui:define>
当我点击结果页面上的后退按钮时,第一页将显示所选值,如果我重新选择任何值并提交它,则无法导航到我的结果页面。