0
我从一个JSP导航到另一个JSP如图的Liferay:用Liferay的友好的URL路径XML文件查询
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>
目前我有这个友好的url routes.xml文件
<?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>
有了这个URL被显示如
http://localhost:8080/web/guest/what-we-do/-/sai/?_sai_WAR_Saiportlet_jspPage=%2Fhtml%2Fsai%2Fedit.jsp
你能告诉我应该是什么样的内部
编辑部分
我可以给的值p_p_lifecycle ,p_p_state,p_p_mode以下面的方式??
<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>
作品完美,非常感谢你,我还有一个问题,请参阅问题中编辑过的部分, – Pawan 2013-02-22 06:05:06
好听!对于编辑的部分,听起来默认情况下将使用隐式参数,但如果URL指定了不同的值,则整个规则将不适用 - 例如。如果p_p_mode不是巴巴,但设置为德德,那么该URL将不是友好的URL,而是长参数URL。也许你想尝试重写参数呢?这听起来像它会一直使用您的给定值而不是参数值。 – tbigby 2013-02-22 07:07:45
另外 - 该示例页面表明p_p_ *参数将被自动隐藏:_DefaultFriendlyURLMapper会自动隐藏所有这些内容,并且只有在设置为默认值以外的值时才会显示它们。例如,如果p_p_mode设置为“normal”,它将被隐藏,但如果设置为“maximized”,则会显示。这个系统可以让你的网址更干净而不会破坏功能。所以你甚至可能根本不需要把它们放进去?我想试试看,看看有什么作用。 – tbigby 2013-02-22 07:10:01