首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JSF2 2-Primefaces3 3应用程序中未调用动作侦听器

在JSF2 2-Primefaces3 3应用程序中未调用动作侦听器
EN

Stack Overflow用户
提问于 2012-10-09 09:59:19
回答 1查看 347关注 0票数 0

我试图在我的JSF-2/Primefaces-3应用程序中获得纬度和经度。我使用以下代码:

XHTML

代码语言:javascript
复制
<h:inputText id="address" value="#{nyBean.address}" />
<p:remoteCommand name="rmtCommandGeocoder" actionListener="#{myBean.getCordinates}" />

JAVA脚本

代码语言:javascript
复制
function geocoder() {
   var geocoder = new google.maps.Geocoder();
   var address = document.getElementById("address").value;
   geocoder.geocode({
      'address' : address
   }, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
         // Calls the remoteCommand "rmtCommandGeocoder",
         // passing the coordinates to map of parameters
         rmtCommandGeocoder([ {
            name : 'latitude',
            value : results[0].geometry.location.lat()
         }, {
            name : 'longitude',
            value : results[0].geometry.location.lng()
         }]);
      }
   });
}

菜豆

代码语言:javascript
复制
public void getCordinates() {
   FacesContext context = FacesContext.getCurrentInstance();
   Map<String, String> parameterMap = context.getExternalContext().getRequestParameterMap();
   double latitude = Double.parseDouble((String) parameterMap.get("latitude"));
   double longitude = Double.parseDouble((String) parameterMap.get("longitude"));
}

这里的问题是getCordinates()没有被调用。伙计们有线索吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-09 10:14:36

将签名更改为

代码语言:javascript
复制
public void retriveCordinates(ActionEvent event){

或者只是从actionListener变成action

也是

最佳实践是只对getter/setter使用getset前缀,这就是为什么我将getCordinates改为retriveCordinates的原因。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12797474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档