liferay-7.1 - Liferay 7 粘土管理工具栏
问题描述
如何在 Clay 管理工具栏中添加高级搜索?
<clay:management-toolbar
clearResultsURL="${assignmentsManagementToolbarDisplayContext.getSearchActionURL()}"
componentId="assignmentsManagementToolbar"
creationMenu="${assignmentsManagementToolbarDisplayContext.getCreationMenu()}"
disabled="${assignmentCount eq 0}"
filterDropdownItems="${assignmentsManagementToolbarDisplayContext.getFilterDropdownItems()}"
itemsTotal="${assignmentCount}"
searchActionURL="${assignmentsManagementToolbarDisplayContext.getSearchActionURL()}"
searchContainerId="assignmentEntries"
searchFormName="searchFm"
selectable="false"
showInfoButton="<%= true %>"
sortingOrder="${assignmentsManagementToolbarDisplayContext.getOrderByType()}"
sortingURL="${assignmentsManagementToolbarDisplayContext.getSortingURL()}"
viewTypeItems="${assignmentsManagementToolbarDisplayContext.getViewTypes()}"
showAdvancedSearch="<%= true %>"
searchDropdownItems="${assignmentsManagementToolbarDisplayContext.getFilterDropdownItems()}"
/>
如何添加高级搜索功能?
解决方案
视图.jsp
<%
PortletURL portletURL = renderResponse.createRenderURL();
AssignmentsManagementToolbarDisplayContext assignmentsManagementToolbarDisplayContext = new AssignmentsManagementToolbarDisplayContext(renderRequest, renderResponse);
%>
<clay:management-toolbar
clearResultsURL="${assignmentsManagementToolbarDisplayContext.getSearchActionURL()}"
componentId="assignmentsManagementToolbar"
creationMenu="${assignmentsManagementToolbarDisplayContext.getCreationMenu()}"
disabled="${assignmentCount eq 0}"
filterDropdownItems="${assignmentsManagementToolbarDisplayContext.getFilterDropdownItems()}"
itemsTotal="${assignmentCount}"
searchActionURL="${assignmentsManagementToolbarDisplayContext.getSearchActionURL()}"
searchContainerId="assignmentEntries"
searchFormName="searchFm"
selectable="false"
showInfoButton="<%= true %>"
sortingOrder="${assignmentsManagementToolbarDisplayContext.getOrderByType()}"
sortingURL="${assignmentsManagementToolbarDisplayContext.getSortingURL()}"
viewTypeItems="${assignmentsManagementToolbarDisplayContext.getViewTypes()}"
showAdvancedSearch="<%= true %>"
searchDropdownItems="${assignmentsManagementToolbarDisplayContext.getFilterDropdownItems()}"
/>
类->AssignmentsManagementRequestHelper
public class AssignmentsManagementRequestHelper extends BaseRequestHelper{
public AssignmentsManagementRequestHelper(HttpServletRequest httpServletRequest) {
super(httpServletRequest);
_renderRequest = (RenderRequest)httpServletRequest.getAttribute(JavaConstants.JAVAX_PORTLET_REQUEST);
_portletPreferences = _renderRequest.getPreferences();
}
public PortletPreferences getPortletPreferences() {
return _portletPreferences;
}
public RenderRequest getRenderRequest() {
return _renderRequest;
}
private final PortletPreferences _portletPreferences;
private final RenderRequest _renderRequest;
}
类->AssignmentsManagementToolbarDisplayContext
public class AssignmentsManagementToolbarDisplayContext {
public AssignmentsManagementToolbarDisplayContext(
RenderRequest renderRequest,
RenderResponse renderResponse) {
_renderRequest = renderRequest;
_renderResponse = renderResponse;
_assignmentsManagementRequestHelper = new AssignmentsManagementRequestHelper(PortalUtil.getHttpServletRequest(_renderRequest));
}
}
您可以参考 Liferay 门户源代码模块:动态数据列表。
网络文件夹
推荐阅读
- android - 属性初始化后 Kotlin 中出现错误的 UninitializedPropertyAccessException
- ssl - 在 httpClient 中使用 POST 时如何确保数据被加密
- ionic3 - 当我有互联网连接时,如何将设备存储上的数据与服务器上的数据同步
- javascript - 使用 Bootstrap Dropdown 和 Jquery 更改 Bootstrap 表单
- android - 使用字符串时加载图像
- java - 第二次使用准备好的语句无法到达临时表
- java - 从另一个类编译并运行java方法
- java - java-静态方法中的“new”运算符
- android - 如何将 Admin SDK api 添加到 android 项目
- r - R提取每月数据并将其分配给湿/干季节