我想在搜索框中输入自动填写的任何字符时从表名列中检索所有名称,但我无法在搜索框中填写名称,
这是我的命名查询部分,用于检索所有项目名称
@NamedQuery(name="Item.findItembyName", query=" FROM Item e WHERE e.name like :name" )
并尊重DAO实施
public List<Item> findItemName(String name) {
Session session = this.sessionFactory.getCurrentSession();
System.out.println("itemDao name" +name);
Query query = session.getNamedQuery("Item.findItembyName").setParameter("name", "%"+ name +"%" );
return query.list();
}
用于调用服务的BEAN控制器和用于在视图xhtml中填充项目名称的DAO层
public List<String> complete(String query){
List<String> nameList = new ArrayList<String>();
List<Item> queries = depositService.findItemName(query);
for(int i = 0 ; i < queries.size() ; i++){
for (Item item : queries) {
nameList.add(item.getName());
}
}
return nameList;
}
表格中的项目名称未在名称列表数组中填充,并且视图部分中的搜索框不是自动填充