jsf托管bean返回2个值如何在JSF中显示

时间:2017-10-26 21:33:34

标签: jsf primefaces javabeans

我有一个问题,我有一个primefaces outputtext字段,并且从托管bean,我正在尝试将数组类型返回到此字段。有点不对劲,因为我没有返回值返回到我的outputtext字段。我承认我的Java编码技巧有点生疏,可能是因为我的bean方法中我的返回值没有正确执行。

我的JSF页面输出文本字段

   <p:panel id="horizontal" header="Conversion from Lat Long to MGRS" toggleable="true" toggleOrientation="horizontal">
     <h:panelGrid columns="2" cellpadding="10" styleClass="left">
  <h:outputLabel for="lat" value="Enter Latitude:" />
            <p:inplace id="lat">
                <p:inputText value="Latitude" />
            </p:inplace>

  <h:outputLabel for="long" value="Enter Longitude:" />
            <p:inplace id="long">
                <p:inputText value="Longitude" />
            </p:inplace>

  <h:outputLabel for="mgrs" value="MGRS conversion value:" />
   <h:outputText id="mgrs"  value="#{coordinates.MGRSCoordreturn}" />

  <p:commandButton value="Submit" update="mgrs" icon="ui-icon-check" actionListener="#{coordinates.mgrsFromLatLon(lat, long)}"/>

 </h:panelGrid>

 </p:panel>

 <h:outputLabel for="mgrs_input" value="Enter MGRS:" />
            <p:inplace id="mgrs_input">
                <p:inputText value="MGRS" />
            </p:inplace>


  <h:outputLabel for="mgrs_output" value="Lat Long conversion values:" />
    <h:outputText id="mgrs_output"  value="#{coordinates.latLongVReturn}" />

  <p:commandButton value="Submit" update="mgrs_output" icon="ui-icon-check" actionListener="#{coordinates.latLonFromMgrs(mgrs_input)}"/>

我的托管bean代码:

@ManagedBean
@SessionScoped 

public class Coordinates implements Serializable{
private String MGRSCoordreturn;
    private Double LatLongVReturn;

public   String mgrsFromLatLon(double lat, double lon){

       // 37.10, -112.12
    Angle latitude = Angle.fromDegrees(lat);

    Angle longitude = Angle.fromDegrees(lon);

    MGRSCoordreturn = MGRSCoord.fromLatLon(latitude, longitude).toString();
            return MGRSCoord.fromLatLon(latitude, longitude).toString();
}

    public String getMGRSCoordreturn() {
        return MGRSCoordreturn;
    }

    public void setMGRSCoordreturn(String MGRSCoordreturn) {
      this.MGRSCoordreturn = MGRSCoordreturn;
     }

public double[] latLonFromMgrs(String mgrs){

    MGRSCoord coord = MGRSCoord.fromString("31NAA 66021 00000");


            double LatLongVReturn[] = new double[]{ 
        coord.getLatitude().degrees, 
        coord.getLongitude().degrees 
    };

    return new double[]{ 
        coord.getLatitude().degrees, 
        coord.getLongitude().degrees 
    };

    }


     public Double getLatLongVReturn() {
        return LatLongVReturn;
}
     public void setLatLongVReturn(Double LatLongVReturn) {
      this.LatLongVReturn= LatLongVReturn;
     }

 }

0 个答案:

没有答案