Search code examples
liferay-6

Liferay : A query with Liferay Friendly URL routes xml file


I am navigating from One jsp to another JSP as shown

view.jsp

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
<portlet:renderURL var="test">
<portlet:param name="jspPage" value="/html/sai/edit.jsp" />
</portlet:renderURL>
<p><a href="<%= test %>">Go to Edit Page</a></p>

edit.jsp

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
<portlet:renderURL var="test">
<portlet:param name="jspPage" value="/html/sai/view.jsp" />
</portlet:renderURL>
<p><a href="<%= test %>">Go to View Page</a></p>

Currently i have this for friendly url routes.xml file

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE routes PUBLIC "-//Liferay//DTD Friendly URL Routes 6.1.0//EN" "http://www.liferay.com/dtd/liferay-friendly-url-routes_6_1_0.dtd">

<routes>
  <route>
    <pattern>/</pattern>
    <ignored-parameter name="p_p_lifecycle" />
    <ignored-parameter name="p_p_state" />
    <ignored-parameter name="p_p_mode" />
</route>
</routes>

With this the URL is displaying as shown

http://localhost:8080/web/guest/what-we-do/-/sai/?_sai_WAR_Saiportlet_jspPage=%2Fhtml%2Fsai%2Fedit.jsp

Could you please tell me what should be inside

Edited Part

Can i give the values for p_p_lifecycle , p_p_state , p_p_mode in the below way ??

<route>
  <pattern>/{jspPageName}</pattern>
  <generated-parameter name="jspPage">/html/sai/{jspPageName}.jsp</generated-parameter>
   <implicit-parameter name="p_p_lifecycle">1</implicit-parameter>
   <implicit-parameter name="p_p_state">Baba</implicit-parameter>
   <implicit-parameter name="p_p_mode">Baba</implicit-parameter>
   </route>

Solution

  • How about something like:

    <route>
      <pattern>/{jspPageName}</pattern>
      <generated-parameter name="jspPage">/html/sai/{jspPageName}.jsp</generated-parameter>
      <ignored-parameter name="p_p_lifecycle" />
      <ignored-parameter name="p_p_state" />
      <ignored-parameter name="p_p_mode" />
    </route>
    

    Then the resulting URL should be something like:

    http://localhost:8080/web/guest/what-we-do/-/sai/edit
    

    For more examples, see http://www.liferay.com/web/connor.mckay/blog/-/blogs/introducing-friendly-url-routes .