javax.el.PropertyNotFoundException:该类'没有可读的属性'偏好'

时间:2017-03-08 06:43:51

标签: jsf primefaces el

我几乎已经完成了所有相关的问题,但无法找到答案,因为我不会遇到导致其他错误导致错误的问题,但同样的错误结果

我已经实现了一个primefaces selectBooleanButton 元素,并且只包含了bean代码。该错误意味着系统无法读取managedBean的属性,但我有适当的getter / setter方法,因为它应该是boolean属性。以下是供参考的代码:

查看

public func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        let chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage 
        userImageView.contentMode = .scaleAspectFit
        userImageView.image = chosenImage
        dismiss(animated:true, completion: nil)
    }

public func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {self.dismiss(animated: true, completion: nil)
}

豆:

    <html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">
  <ui:composition template="/templates/common/public.xhtml">
    <ui:define name="title">Search</ui:define>
    <ui:define name="content">
      <div class="ui-grid ui-grid-responsive">
        <div class="ui-grid-row">
          <div class="ui-grid-col-10" id="mainCol">
            <h:form id="search">
              <h:panelGrid columns="2" cellpadding="5">
              <h:outputText value="Choose: " />
              <p:selectBooleanButton id="preference" value="#{searchForm.preference}" onLabel="Yes" offLabel="No" style="width:60px" />
            </h:form>
          </div>
        </div>
      </div>
    </ui:define>
  </ui:composition>
</html>

错误:

@Named
@SessionScoped
public class SearchForm {

  private boolean preference;

  public boolean isPreference() {
      return preference;
  }

  public void setPreference(boolean preference) {
      this.preference = preference;
  }
}

请建议。

2 个答案:

答案 0 :(得分:1)

这个问题花了很长时间,但发布这个答案只是为了提及原因并解决问题。

glassfish未获取更改并重新启动它解决了问题。 所以,如果您确定您的更改并仍然收到错误,我想也可以怀疑服务器:)

答案 1 :(得分:1)

这是一个古老的问题,但这可能会对某人有所帮助。 Boolean也有类似的问题。将getter方法从isXxx更改为getXxx就解决了。例如:

public boolean getPreference() {
    return preference;
}