3

我正在开发liferay 6 Portlet。我是新手。如图所示,我需要以这种方式保持到另一个 jsp 的超链接。

<a href="<portlet:renderURL>
    <portlet:param name="jspPage" value="/WEB-INF/view/page2.jsp" />
    </portlet:renderURL>">
</a>

我有另一个名为 page2.jsp 的 JSP,但这不起作用(意味着当我单击超链接时,它只显示第一个 JSP

但这不起作用

这是我的 page1.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>

<s:form action="helloForm" method="POST" theme="simple">
    Enter Your Name:<s:textfield name="namer" value="%{name}" required="true"/>
    <s:submit/>
</s:form>


<a href="<portlet:renderURL>
<portlet:param name="jspPage" value="/WEB-INF/view/page2.jsp" />
</portlet:renderURL>">
</a>

=========

这是 pag2.jsp

<html>
<head>
</head>
<body>
    <h1>Hi </h1>
</body>
</html>
4

2 回答 2

4

您可以在 page1.jsp 中尝试以下代码,看看它是否有效:

<portlet:renderURL var="clickRenderURL">
    <portlet:param name="jspPage" value="/WEB-INF/view/page2.jsp" />
</portlet:renderURL>

<a href="<%=clickRenderURL %>">Click here</a>

如果确实如此,则可能是引号(“”)的问题。

如果没有,那么您能否提供更多详细信息,例如您正在扩展 MVCPortlet 的哪个 portlet,等等。

于 2012-04-09T08:43:24.340 回答
1

我相信问题发生在标签中。

在 MVCPortlet 中,如果您想直接从另一个 JSP 页面调用一个 JSP 页面,您必须将 portlet:param 的名称命名为“mvcPath”,例如:

<portlet:renderURL var="varA">
    <portlet:param name="mvcPath" value="/a.jsp"/>
</portlet:renderURL>

<portlet:renderURL var="varB">
    <portlet:param name="mvcPath" value="/b.jsp"/>
</portlet:renderURL>

<a href="<%=varA %>">Link to A</a>
<a href="<%=varB %>">Link to B</a>

这将正常工作。

希望这会帮助你。

于 2016-04-03T14:03:41.953 回答