Это очень запутанно. Я работаю над простым приложением для класса и следовал за примерами, но чертово свойство Бина просто не будет установлено. Код следует:
Код боба:
import java.io.Serializable;
import javax.faces.bean.*;
import javax.faces.event.*;
@ManagedBean(name="dist") // or @Named("dist")
@SessionScoped
public class DistanceConvertBean implements Serializable{
private static final double MILESTOKM = 1.609344;
private static final double KMTOMILES = 0.62137;
private double input;
private String convertTo;
private String outputString;
Eclipse generated getters and setters
Index.xhtml код:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:body>
<h:panelGrid columns="3">
<h:outputText value="Distance:"/>
<h:inputText id="inDist" value="#{dist.input}" required="true">
<f:convertNumber maxFractionDigits="2"/>
<f:validateDoubleRange maximum="10000"/>
</h:inputText>
<h:message for="inDist"/>
<h:outputText value="Convert To:"/>
<h:form>
<h:selectOneRadio value="#{dist.convertTo}" required="true">
<f:selectItem itemValue="km" itemLabel="Kilometer"/>
<f:selectItem itemValue="miles" itemLabel="Miles"/>
</h:selectOneRadio>
</h:form>
<h:form>
<h:commandButton value="Convert" action="blah"/>
</h:form>
</h:panelGrid>
</h:body>
</html>
Blah.xhtml код:
<h:body>
<h:outputText value="#{dist.input}"/>
</h:body>
Поэтому я вставил 10 в поле InputText в Index.xhtml и нажал командную кнопку, чтобы перейти к blah.xhtml. Значение в бла все еще 0,0.
Я использую Tomcat 7 и Eclipse Heilos и создал динамический веб-проект. У меня есть все банки JSF в WEB-INF / libs. Я не понимаю, почему свойства бина не устанавливаются. Это похоже на те коды новичков, которые вы найдете в примерах COREJSF Web.xml использует 2.5 для сервлета, поэтому мне не нужен face-config.xml.