portlet:renderURL不起作用

时间:2012-04-07 04:27:25

标签: liferay portlet liferay-6

我正在开发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>

2 个答案:

答案 0 :(得分: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>

如果确实如此,这就是引号(“”)的问题。

如果没有,那么你可以提供更多细节,比如你在哪个portlet扩展MVCPortlet等。

答案 1 :(得分:0)

我认为问题发生在标签中。

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

object filename = @"C:\Users\Napster\Desktop\PV2016.dotx";
            object confirmConversions = Type.Missing;
            object ReadOnly = Type.Missing;
            object addToRecentFiles = Type.Missing;
            object passwordDoc = Type.Missing;
            object passwordTemplate = Type.Missing;
            object revert = Type.Missing;
            object writepwdoc = Type.Missing;
            object writepwTemplate = Type.Missing;
            object format = Type.Missing;
            object encoding = Type.Missing;
            object visible = Type.Missing;
            object openRepair = Type.Missing;
            object docDirection = Type.Missing;
            object notEncoding = Type.Missing;
            object xmlTransform = Type.Missing;
            object oMissing = System.Reflection.Missing.Value;                
            object readOnly = false;


            Microsoft.Office.Interop.Word.Application myApp1 = new Microsoft.Office.Interop.Word.Application();
            Microsoft.Office.Interop.Word.Document mydoc1 = new Document();

            mydoc1 = myApp1.Documents.Open(filename);

            mydoc1.Activate();
            Bookmarks bm = mydoc1.Bookmarks;

            bm.get_Item("BV_1date").Range.Text = mtb_datepostPV.Text;
            bm.get_Item("BV_fnamemply").Range.Text = mtb_fnamemplyPV.Text;
            bm.get_Item("BV_lnamemply").Range.Text = mtb_lnamemplyPV.Text;
            bm.get_Item("BV_postemply").Range.Text = mtb_postPV.Text;
            bm.get_Item("BV_service").Range.Text = mtb_servicePV.Text;
            bm.get_Item("BV_2date").Range.Text = mtb_datepostPV.Text;

这样可以正常工作。

希望这会对你有所帮助。