【发布时间】:2013-11-18 23:05:31
【问题描述】:
对不起我的英语。我有一些引用数据库对象的java平面类(我没有使用JPA或类似的简单pojo)。结构非常简单,一些代表数据库实体(person 类,car 类等)的 pojo,使用 primefaces 数据表和 managedBean 呈现数据的 jsf 页面,用于操作数据并使其可通过 EL 访问 jsf 页面。 这个示例运行良好,当我编写 jsf 页面时,Netbeans 的自动完成代码功能运行良好,如果我编写 ...#{person. netbeans 显示一个对话框,其中包含在人员类中定义的属性。 当我添加名为电话的新 pojo 类时出现问题。此类包含电话类的类型、编号和注释属性。我修改了 Person 类,添加了一个字段 List PhonesList;我的 Persons 类现在有一个新的属性,可以包含一个或多个电话号码。 在jsf页面我写:
<h:form id="form_persondata">
<p:dataTable id="tbl_person" value="#{personDAO.personsList}"
var="item1"
selectionMode="single"
rowKey="#{item1.id}"
selection="#{personDAO.selected}"
resizableColumns="true">
<p:ajax event="rowSelect"
update=":form_persondata:tbl_person"/>
<p:column headerText="Nombre y Apellidos" >
<p:outputLabel value="#{item1.name}"/>
<br/>
<p:outputLabel value=" #{item1.apellidos}"/>
</p:column>
<p:dataTable id="tbl_phones" value="#{item1.phonesList}"
var="item2" resizableColumns="true">
<p:column headerText="Phone Type" >
<h:outputText value="#{item2.type}"/>
</p:column>
<p:column headerText="Numero">
<p:outputLabel value="#{item2.phonenumber}"/>
</p:column>
</p:dataTable>
</p:column>
</p:dataTable>
</h:form>
第二个数据表中的 EL 表达式 #{item2.当我按点键时不会产生自动完成代码。如果我写了正确的属性名称(我当然知道),这个编译和运行良好,只有自动完成在这个级别不起作用。 不能使用 EL lenguaje 将类引用到另一个类中吗?
对不起,我糟糕的英语,我使用 netbeans 7.4、jsf 2.2、primefaces 3.5 和 CDI 仅在 personDAO 类中使用 @Named 约定,而不是在 person、phone 或 car 类中。
我的 PersonDAO 类:
...
@Named
@SessionScoped
public class PersonDAO implements Serializable {
DBCollection Table;
List<Person> personsList;
Person Selected;
我的 Person 类(简单 pojo):
public class Person{
private String nombre;
private String apellidos;
private List<Phones> phonesList;
... getters and setters
还有我的电话课:
public class Phones{
private String phoneType;
private String phoneNumber;
... getter 和 setter
有什么建议吗?我是不是做错了什么?
【问题讨论】:
标签: jsf-2 autocomplete el netbeans-7