Java actionURL标记在Liferay中做什么?
以下代码在Liferay portlet JSP中执行什么操作:Java actionURL标记在Liferay中做什么?,java,jsp,tags,liferay,Java,Jsp,Tags,Liferay,以下代码在Liferay portlet JSP中执行什么操作: <portlet:actionURL var="editPromotionURL"> <portlet:param name="mvcPath" value="/edit.jsp" /> </portlet:actionURL> 根据com.liferay.taglib.portlet.ActionURLTag源代码,我推断该标记根据给定参数创建LiferayPortletURL,
<portlet:actionURL var="editPromotionURL">
<portlet:param name="mvcPath" value="/edit.jsp" />
</portlet:actionURL>
根据com.liferay.taglib.portlet.ActionURLTag
源代码,我推断该标记根据给定参数创建LiferayPortletURL
,并将其文本表示形式放入var
命名变量中。这是正确的吗
我找不到使用mvcPath
参数的位置。它的功能是什么
如何将此标记的结果与
一起使用?我认为JSP表达式不会读取pageContext
。写${editPromotionURL}
不是很正确吗?前者如何工作
actionURL标签还有其他功能吗
如果JSP中同时存在
portlet:actionURL
和portlet:renderURL
标记,该怎么办?这里有两件事在起作用
呈现JSP
首先,当您使用Liferay的com.Liferay.util.bridges.mvc.MVCPortlet
创建扩展\的Portlet类时,通常使用mvcPath参数
创建renderURL时,可以使用mvcPath
参数告诉MVCPortlet呈现特定的JSP
用法如下:
<portlet:renderURL var="viewEditPromotionURL">
<portlet:param name="mvcPath" value="/edit.jsp" />
</portlet:renderURL>
<a href="<%= viewEditPromotionURL %>">Edit Promo</a>
如您所见,该参数不是必需的。相反,通过包含name
属性,可以告诉MVCPortlet类查找以该属性命名的方法。在我们的例子中:editPromotion
在portlet类中,只要扩展了MVCPortlet
,就只需实现此方法并使用actionRequest
获取可能需要的任何发布数据
public void editPromotion(
ActionRequest actionRequest, ActionResponse actionResponse)
throws PortalException, SystemException {
}
谢谢但是如何使用
?我在本例中使用了${viewEditPromotionURL}
,它可以正常工作。我在想,对于前面的工作,它应该是翻译后的servlet代码中的java变量,而不是键值对。。。这不是真的吗?嗨,迪姆斯,这是一只虫子。。。它应该是
而不是
public void editPromotion(
ActionRequest actionRequest, ActionResponse actionResponse)
throws PortalException, SystemException {
}