使用 cmsu:simpleSearch 和 cmsu:searchResultSnippet 链接无法正确显示。
这是我的代码:
<c:if test="${!empty param.contentSearchPattern}">
<h1>xx results for "${fn:escapeXml(param.contentSearchPattern)}"</h1>
<ol>
<cmsu:simpleSearch query="${param.contentSearchPattern}" var="results" startLevel="1" />
<c:if test="${empty results}">
<p>No results</p>
</c:if>
<c:forEach var="node" items="${results}">
<li>
<h2><a href="${pageContext.request.contextPath}${node.handle}.html">${node.title}</a></h2>
<p class="pageResultUrl">drintranet-testdev${node.handle}.html</p>
<p><cmsu:searchResultSnippet query="${param.contentSearchPattern}" page="${node}" chars="120"/></p>
</li>
</c:forEach>
</ol>
</c:if>
所以假设我有一个匹配搜索模式的页面,如果这只是文本,它将正确显示片段。但是,如果匹配模式的文本是一个链接,它将显示诸如“”之类的片段,而不再被链接。
我希望能够保持相同的格式。IE。如果文本也是链接,则显示带有链接的文本。
此外,当使用 cmsu:simpleSearch 和 cmsu:searchResultSnippet 时,我想显示页面/文章的创建日期。
这是代码:
<c:if test="${!empty param.contentSearchPattern}">
<h1>xx results for "${fn:escapeXml(param.contentSearchPattern)}"</h1>
<ol>
<cmsu:simpleSearch query="${param.contentSearchPattern}" var="results" startLevel="1" />
<c:if test="${empty results}">
<p>No results</p>
</c:if>
<c:forEach var="node" items="${results}">
<li>
<h2><a href="${pageContext.request.contextPath}${node.handle}.html">${node.title}</a></h2>
<p class="pageResultUrl">drintranet-testdev${node.handle}.html</p>
<p><cmsu:searchResultSnippet query="${fn:escapeXml(param.contentSearchPattern)}" page="${node}" chars="120"/></p>
<p>Creation Date: ${node.metaData.creationDate}</p>
</li>
</c:forEach>
</ol>
</c:if>
但它返回创建日期行:
创建日期:java.util.GregorianCalendar[time=1307354223649,areFieldsSet=true,areAllFieldsSet=true,lenient=false,zone=sun.util.calendar.ZoneInfo[id="GMT+01:00",offset=3600000,dstSavings =0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2011,MONTH=5,WEEK_OF_YEAR=23,WEEK_OF_MONTH=2,DAY_OF_MONTH=6,DAY_OF_YEAR= 157,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=57,SECOND=3,MILLISECOND=649,ZONE_OFFSET=3600000,DST_OFFSET=0]
我正在尝试使用这种类型的代码将此日期转换为人类可读的格式:
<cms:ifNotEmpty nodeDataName="date">
<cms:out nodeDataName="date" datePattern="MM/dd/yyyy hh:mm a" var="eventDate"/>
</cms:ifNotEmpty>
但这不起作用,因为 pageDate 不是我假设的 nodeDataName ,知道如何做到这一点吗?