Tiếp theo bài "Sử dụng Custom query để implement service". Ta sẽ áp dụng để tìm kiếm sản phẩm
Ta bổ sung code vào file ProductPortlet.java để theo hàm search product
Tiếp tục ta tạo file view searchProduct.jsp như sau:
Ta bổ sung code vào file ProductPortlet.java để theo hàm search product
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 16 |
public void searchProduct(ActionRequest actionRequest, ActionResponse actionResponse) {
//Get keyword
String productName= ParamUtil.getString(actionRequest, "product_name");
actionRequest.setAttribute("productName", productName);
try {
List<Product> listProduct= ProductLocalServiceUtil.searchByNameOrDescription(productName, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
//Create session to save list product
HttpSession session= PortalUtil.getHttpServletRequest(actionRequest).getSession();
session.setAttribute("listProduct", listProduct);
Integer countProduct= listProduct.size();
session.setAttribute("countProduct", countProduct);
//System.out.println("Your inputs ==> "+ listProduct);
actionResponse.setRenderParameter("jspPage","/html/productportlet/searchProduct.jsp");
}
catch(Exception ex) {
ex.printStackTrace();
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 16 |
<%@ include file="/html/init.jsp" %>
<%
List<Product> listProduct= (List<Product>) session.getAttribute("listProduct");
Integer countProduct = (Integer) session.getAttribute("countProduct");
%>
<h3>Search by product name or description</h3>
<portlet:actionURL var="searchProductURL" name="searchProduct"/>
<aui:form action="<%=searchProductURL %>" method="post" name="fmSearchProduct">
<aui:input name="product_name" type="text" label="Product Name"/>
<aui:button-row>
<aui:button type="submit" name="btSearchProduct" value="Search Product"/>
</aui:button-row>
</aui:form>
<br/>
<br/>
<!-- --------------------------------------------------------------------- -->
<%
List<Product> listproduct = ProductLocalServiceUtil.getProducts(0, 100);
List<Product> listsp = listproduct;
if (listProduct != null) {
listsp = listProduct;
}
%>
<liferay-ui:search-container delta="5" emptyResultsMessage = "No Data">
<liferay-ui:search-container-results
results="<%=ListUtil.subList(listsp, searchContainer.getStart(),searchContainer.getEnd())%>"
total="<%=listsp.size() %>"/>
<liferay-ui:search-container-row
className="vn.softech.web.dng67.model.Product"
modelVar="product" rowVar="">
<liferay-ui:search-container-column-text name="id_product" align = "left" value="<%= StringUtil.valueOf(product.getId_product()) %>"/>
<liferay-ui:search-container-column-text name="product_name" align = "left" value="<%=product.getProduct_name()%>"/>
<liferay-ui:search-container-column-text name="#" align="left">
<a href="
<portlet:renderURL>
<portlet:param name="jspPage" value="/html/productportlet/editProduct.jsp" />
<portlet:param name="id_product" value="<%= StringUtil.valueOf(product.getId_product()) %>" />
</portlet:renderURL>
">Edit</a>
|
<a href="
<portlet:actionURL name="removeProduct">
<portlet:param name="id_product" value="<%= StringUtil.valueOf(product.getId_product()) %>" />
</portlet:actionURL>
">Remove</a>
</liferay-ui:search-container-column-text>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator searchContainer="<%= searchContainer %>" paginate="true"/>
</liferay-ui:search-container>
<br/>
<hr/>
<br/><a href="<portlet:renderURL/>">«Go Back</a>
|
Subscribe to:
Post Comments (Atom)
Bài viết rất hay, nhưng bạn có thể cung cấp source được không bởi vì bạn không làm rõ quá trình tạo portlet và một số file tương đương , mình là newbie,mong bạn có thể gửi source code cho mình vào vtquan243@gmail.com .
ReplyDeleteok. mình sẽ gửi cho bạn source demo
ReplyDeletehi bạn, bạn gửi giúp mình source code vào mail tinhdg@gmail.com dc ko, mình đang rất quan tâm đến liferay. Thanks bạn
ReplyDeletemấy tháng nay hơi bận nên chưa gửi dc.nếu bạn còn cần thì pm lại để mình gửi nghen.
DeleteChào bạn. Bạn gửi giùm cho mình source code vào mail lethianqt94@gmail.com được không. Mình cũng đang học về Liferay. Mong sớm nhận được hồi âm của bạn. Cám ơn bạn.
ReplyDeletebài hay lắm. bạn cho mình xin source vào mail toonykent@gmail.com nhé. thanks bạn
ReplyDeletesource tham khảo: http://www.mediafire.com/download/b97cee1o6b8v5qp/mytest-portlet.rar
ReplyDelete