我在最近两天尝试制作搜索方法,同时我打字,我希望看到该搜索的不同可用结果(在我的迭代器中)。例如:我的bbdd中有不同的产品,我希望用户检查它们,甚至搜索。
我尝试过自动完成功能并在我的操作中获取参数,但在此之后,当我修改我的List产品时,迭代器中的结果不会改变。
Products_user.jsp
<html>
<s:url var="remoteurl" action="products"></s:url>
<sj:autocompleter href="%{remoteurl}" label="Search Product By Name"
list="products" name="product_auto" listKey="name"
/>
<ul>
<s:iterator value="products">
<li>
<p>
<s:text name="text.name"/> <s:property value="name"/>
<s:url id="detalles" action="editProducts">
<s:param name="id_product"><s:property value="id"/></s:param>
</s:url>
<a href="<s:property value="%{detalles}"/>"> <s:text name="field.details"/> </a>
</p>
</li>
</s:iterator>
</ul>
showProducts Action
public String execute() throws Exception{
DAOFactory SQLFactory;
SQLFactory = DAOFactory.getDAOFactory(DAOFactory.SQL);
ProductDAO productDAO = SQLFactory.getProductDAO();
products = productDAO.get_all_products();
if(term!=null){
for (int i = 0; i < products.size(); i++) {
if (StringUtils.startsWith(products.get(i).getName().toLowerCase(), term.toLowerCase()))
{
products_aux.add(products.get(i));
}
}
}
return "success";
}
我试过这种方式,但是在用户输入的同时我无法刷新结果,希望有人给我一个提示,谢谢!