Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java actionURL标记在Liferay中做什么?_Java_Jsp_Tags_Liferay - Fatal编程技术网

Java actionURL标记在Liferay中做什么?

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,

以下代码在Liferay portlet JSP中执行什么操作:

<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 {
}