Liferay

Portlet Filter in Liferay 7.2

Bhargav Vaghasiya
Bhargav VaghasiyaDec 8, 2020

Introduction

The portlet filter is similar to the servlet filter. It executes some logic before and after executing the portlet. Portlet filter is mostly used for the below things.

  • Transform content
  • Add or modify request and response attributes
  • Suspend a portlet phase to get user input
  • Audit portlet activity

1) Create a module project.

  1. Go to Liferay workspace project  modules  new.
  2. Select other  Liferay  Liferay Module Project and Click on “Next”.
  3. Enter the project name.
  4. Select “Project Template Name” as “mvc-portlet” and click on “Next”.
Blog Image

Enter the package name and click on “Finish”. The necessary file structure will be created as below.

Blog Image

2) Implement a RenderFilter in your portlet class.

1// PortletFilter.java
2package com.ignek.portal.portlet.filter;
3
4@Component(
5	immediate = true,
6         property = {
7             "javax.portlet.name= com_ignek_portal_portlet_PortletFilter",
8             "service.ranking:Integer=1"
9        },
10        service = PortletFilter.class
11)
12
13public class PortletFilter implements RenderFilter {
14
15	@Override
16	public void init(FilterConfig filterConfig) throws PortletException {
17		log.info("-----------------init method called------------");
18	}
19	@Override
20	public void destroy() {
21		log.info("------------destroy method called----------------");
22	}
23	@Override
24	public void doFilter(RenderRequest request, RenderResponse response, FilterChain chain)
25			throws IOException, PortletException {
26		log.info("----------doFilter method called---------------");
27	}
28
29	private Log log = LogFactoryUtil.getLog(PortletFilter.class);
30}

Javax.portlet.name : It links the portlet class with the filter class.

service.ranking:Integer : Many times we need to create too many filters, that time we can use service.ranking: Integer. It is useful to execute filters on a priority basis.

3) Now, you can deploy your portlet filter.

© 2026 IGNEK. All rights reserved.

Ignek on LinkedInIgnek on InstagramIgnek on FacebookIgnek on YouTubeIgnek on X