Endeca Studio中的自定义组件 - Nothing在新portlet中显示

时间:2014-10-23 16:25:59

标签: oracle tag-cloud endeca endeca-workbench

我遵循了Oracle Endeca Custom Visualization文档,并开始在eclipse中开发自定义portlet。 当我将其部署到endeca-portal中时。组件中不显示任何内容。但是我在view.jsp中看到了一个冗长的代码。有人可以帮我在门户网站中显示Hello消息。 那里出现的是什么?

<div class="eid-simple-portlet">
<table>
    <thead>
    <tr>
        <th><edisc:getMessage messageName="table-heading.data-set"/></th>
        <th><edisc:getMessage messageName="table-heading.record-count"/></th>
        <th><edisc:getMessage messageName="table-heading.attribute-count"/></th>
        <th><edisc:getMessage messageName="table-heading.sample-refinement"/></th>
        <th><edisc:getMessage messageName="table-heading.sample-keyword-search"/></th>
    </tr>
    </thead>
    <tbody>     
    <c:forEach items="${viewModel.dataSetMap}" var="mapEntry" varStatus="dsLoop">
        <c:set var="dataSetKey" value="${mapEntry.key}" />
        <c:set var="dataSetInfo" value="${mapEntry.value}" />

        <%-- set up search action URL --%>
        <portlet:actionURL var="searchURL" name="${filterActionName}">
          <portlet:param name="${dataSetKeyParam}" value="${dataSetKey}"/>
          <portlet:param name="${searchKeyParam}" value="${dataSetInfo.sampleSearchKey.key}"/>
          <portlet:param name="${searchTermParam}" value="${sampleSearchTerm}"/>
        </portlet:actionURL>

        <%-- set up refinement action URL if the sample exists --%>
        <c:if test="${not empty dataSetInfo.sampleRefinement}">
            <portlet:actionURL var="refineURL" name="${filterActionName}">
              <portlet:param name="${dataSetKeyParam}" value="${dataSetKey}"/>
              <portlet:param name="${refinementNameParam}" value="${dataSetInfo.sampleRefinement.name}"/>
              <portlet:param name="${refinementSpecParam}" value="${dataSetInfo.sampleRefinement.spec}"/>
            </portlet:actionURL>
        </c:if>

        <tr <c:if test="${dsLoop.count%2==0}">class="even"</c:if>>
            <td>${dataSetInfo.displayName}</td>
            <td><fmt:formatNumber type="number" value="${dataSetInfo.recordCount}"/></td>
            <td><fmt:formatNumber type="number" value="${dataSetInfo.attrCount}"/></td>
            <td>
                <c:choose>
                <c:when test="${not empty dataSetInfo.sampleRefinement and not empty refineURL}">
                    <a href="${refineURL}">
                        <edisc:getMessage messageName="refine-by-link-text">
                            <edisc:param value="${dataSetInfo.sampleRefinement.name}"/>
                            <edisc:param value="${dataSetInfo.sampleRefinement.label}"/>
                        </edisc:getMessage>
                    </a>
                </c:when>
                <c:otherwise>
                    <edisc:getMessage messageName="refinement-sample-not-available"/>
                </c:otherwise>
                </c:choose>     
            </td>
            <td>
                <c:choose>
                <c:when test="${not empty dataSetInfo.sampleSearchKey}">
                <a href="${searchURL}">
                    <edisc:getMessage messageName="search-for-link-text">
                        <edisc:param value="${dataSetInfo.sampleSearchKey.displayName}"/>
                        <edisc:param value="${sampleSearchTerm}"/>
                    </edisc:getMessage>
                </a>
                </c:when>
                <c:otherwise>
                    <edisc:getMessage messageName="search-sample-not-available"/>
                </c:otherwise>
                </c:choose>
            </td>
        </tr>
    </c:forEach>
    </tbody>
</table>

1 个答案:

答案 0 :(得分:0)

Endeca custom poertlet.

这是我在使用示例代码后得到的示例输出。这是使用liferay框架开发的。因此,学习liferay框架来开发这些自定义组件将有所帮助。由于一些重要的例外,它早先错了。选择适当的jdk版本进行编译解决了这个问题。