当我将其插入xhtml时,我将得到javax.el.PropertyNotFoundException:无法到达目标,标识符'telefonbuch'解析为空
<h3>Auswahl</h3>
<h1:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5">
<p:outputLabel for="geschaeftsstelle" value="Geschäftsstelle:" />
<p:selectOneRadio id="geschaeftsstelle" value="#{telefonbuch.geschaeftsstelle}" layout="grid" columns="3">
<f:selectItems value="#{telefonbuch.geschaeftsstellen}" var="c" itemLabel="#{geschaeftsstelle}" itemValue="#{geschaeftsstelle}"/>
</p:selectOneRadio>
</h1:panelGrid>
我的模型类如下:
@Data
@Entity
public class Telefonbuch {
@PostConstruct
public void init() {
geschaeftsstellen = new ArrayList<String>();
geschaeftsstellen.add("Dortmund");
geschaeftsstellen.add("Essen");
geschaeftsstellen.add("Stralsund");
geschaeftsstellen.add("Stuttgart");
geschaeftsstellen.add("Zürich");
geschaeftsstellen.add("Istanbul");
geschaeftsstellen.add("Köln");
geschaeftsstellen.add("Aachen");
geschaeftsstellen.add("Berlin");
}
public String getGeschaeftsstelle() {
return geschaeftsstelle;
}
public void setGeschaeftsstelle(String geschaeftsstelle) {
this.geschaeftsstelle = geschaeftsstelle;
}
public List<String> getGeschaeftsstellen() {
return geschaeftsstellen;
}
public void setGeschaeftsstellen(List<String> geschaeftsstellen) {
this.geschaeftsstellen = geschaeftsstellen;
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column
private String vorname;
@Column
private String nachname;
@Column
private String telefonnummer;
@Column
private String handynummer;
@Column
private String geschaeftsstelle;
@Column
@ElementCollection
private List<String> geschaeftsstellen;
protected Telefonbuch() {
}
public Telefonbuch(String vorname, String nachname, String telefonnummer, String handynummer) {
this.vorname = vorname;
this.nachname = nachname;
this.telefonnummer = telefonnummer;
this.handynummer = handynummer;
}
我不知道问题是什么。这些按钮将不会显示。只是标题在那里。没有选择。
答案 0 :(得分:0)
只需清理您的项目,它就可以正常工作。
我不知道这是您的情况,但是每当我遇到类似问题时,清理项目并重新加载服务器都会为我解决。
编辑:
在这种情况下,我将假定@Data和@Entity是有效的标识符(因为我一直在使用@ManagedBean,并在以后将其存储在某些DTO类中。
我也认为这一行:
<f:selectItems value="#{telefonbuch.geschaeftsstellen}" var="c" itemLabel="#{geschaeftsstelle}" itemValue="#{geschaeftsstelle}"/>
应如下所示:
<f:selectItems value="#{telefonbuch.geschaeftsstellen}" var="c" itemLabel="#{c.geschaeftsstelle}" itemValue="#{c.geschaeftsstelle}"/>