以下代码可以在我的资源中下载
JavaServer Faces核心编程(第3版)源码
@ManagedBean(name="payment")
@SessionScoped
public class PaymentBean {
private double amount;
private String card = "";
private Date date = new Date();
public void setAmount(double newValue) { amount = newValue; }
public double getAmount() { return amount; }
public void setCard(String newValue) { card = newValue; }
public String getCard() { return card; }
public void setDate(Date newValue) { date = newValue; }
public Date getDate() { return date; }
}
title=An Application to Test Data Conversion
enterPayment=Please enter the payment information
amount=Amount
creditCard=Credit Card
expirationDate=Expiration date (Month/Year)
process=Process
back=Back
paymentInformation=Payment information
index.xhtml
<h:head>
<h:outputStylesheet library="css" name="styles.css"/>
<title>#{msgs.title}</title>
</h:head>
<h:body>
<h:form>
<h1>#{msgs.enterPayment}</h1>
<h:panelGrid columns="3">
#{msgs.amount}
<h:inputText id="amount" label="#{msgs.amount}"
value="#{payment.amount}">
<f:convertNumber minFractionDigits="2"/>
</h:inputText>
<h:message for="amount" styleClass="errorMessage"/>
#{msgs.creditCard}
<h:inputText id="card" label="#{msgs.creditCard}"
value="#{payment.card}"/>
<h:message for="card" styleClass="errorMessage" />
#{msgs.expirationDate}
<h:inputText id="date" label="#{msgs.expirationDate}"
value="#{payment.date}">
<f:convertDateTime pattern="MM/yyyy"/>
</h:inputText>
<h:message for="date" styleClass="errorMessage"/>
</h:panelGrid>
<h:commandButton value="#{msgs.process}" action="result"/>
</h:form>
</h:body>
</html>
result.xhtml
<h:head>
<h:outputStylesheet library="css" name="styles.css"/>
<title>#{msgs.title}</title>
</h:head>
<h:body>
<h:form>
<h1>#{msgs.paymentInformation}</h1>
<h:panelGrid columns="2">
#{msgs.amount}
<h:outputText value="#{payment.amount}">
<f:convertNumber type="currency"/>
</h:outputText>
#{msgs.creditCard}
<h:outputText value="#{payment.card}"/>
#{msgs.expirationDate}
<h:outputText value="#{payment.date}">
<f:convertDateTime pattern="MM/yyyy"/>
</h:outputText>
</h:panelGrid>
<h:commandButton value="#{msgs.back}" action="index"/>
</h:form>
</h:body>