3

liferay 6 ポートレットの開発に取り組んでいます。私はそれに慣れていません。示されているように、この方法で別の 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 を拡張しているポートレットなどの詳細を提供できますか。

于 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 に答える