一、开发演示页面有一个错误,通过这个地址,不能够建立页面,提示“&{createPath}”路径不存在
http://localhost:8080/opencms/dev-demo/collector-with-detail-page/
出现问题页面为:/dev-demo/.content/.functions/collector-example.jsp
后来修改为"${createPath}"依旧有问题,需要改为
<%@page buffer="none" session="false" trimDirectiveWhitespaces="true" %>
<%@taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<cms:formatter var="con" rdfa="rdfa">
<div>
<div class="headline"><h3 ${rdfa.Title}><c:out value="${con.value.Title}" escapeXml="false" /></h3></div>
<%-- Define a Solr query --%>
<c:set var="solrQuery">&fq=type:ddarticle&sort=lastmodified desc</c:set>
<%-- Define a create path --%>
<c:set var="createPath">/dev-demo/collector-with-detail-page/.content/articles/article-%(number:5).xml</c:set>
<%-- Collect the resources --%>
<cms:contentload collector="byContext" param="${solrQuery}|createPath=${createPath}" preload="true" >
<cms:contentinfo var="info" />
<c:if test="${info.resultSize > 0}">
<cms:contentload editable="true">
<cms:contentaccess var="content" />
<div>
<h4><a href="<cms:link>${content.filename}</cms:link>">${content.value.Title}</a></h4>
<p>${content.value.Text}</p>
</div>
</cms:contentload>
</c:if>
<c:if test="${info.resultSize == 0}">
Nothing found for query:<br/><em>${solrQuery}</em>
</c:if>
</cms:contentload>
</div>
</cms:formatter>
修改后能够正常建立页面!
二、测试opencms采用9.0模版建立中文页面的时候,由于urlname原来是采用Title来重写的,中文页面就会出现地址错误的现象。
经过查找,发现在xsd文件中,把<mapping element="Title" mapto="urlName" /> 修改成不是中文的就行,我用了<mapping element="Date" mapto="urlName" />