プロジェクトの 1 つでカバ cms を使用していますが、連絡先の詳細を保存するためのドキュメント タイプがあります。 4が表示されません。ドキュメントの表示順序を変更すると、非表示のドキュメントはアプリケーションに表示されますが、他のドキュメントは消えます。jsp または CMS で使用される制限はありません。なぜこれが起こっているのか誰か教えてもらえますか?
<sv:node xmlns:sv="http://www.jcp.org/jcr/sv/1.0" sv:name="home">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hst:component</sv:value>
</sv:property>
<sv:property sv:name="hst:referencecomponent" sv:type="String">
<sv:value>hst:pages/standard</sv:value>
</sv:property>
<sv:node sv:name="main">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hst:component</sv:value>
</sv:property>
<sv:node sv:name="content">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hst:component</sv:value>
</sv:property>
<sv:property sv:name="hst:referencecomponent" sv:type="String">
<sv:value>hst:components/content</sv:value>
</sv:property>
<sv:property sv:name="hst:template" sv:type="String">
<sv:value>home.main.content</sv:value>
</sv:property>
</sv:node>
<sv:node sv:name="lists">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hst:containercomponent</sv:value>
</sv:property>
<sv:property sv:name="hst:componentclassname" sv:type="String">
<sv:value>org.hippoecm.hst.pagecomposer.builtin.components.StandardContainerComponent</sv:value>
</sv:property>
<sv:property sv:name="hst:xtype" sv:type="String">
<sv:value>HST.UnorderedList</sv:value>
</sv:property>
<sv:node sv:name="contacts">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>hst:containeritemcomponent</sv:value>
</sv:property>
<sv:property sv:name="hst:componentclassname" sv:type="String">
<sv:value>org.rf.online.components.Contacts</sv:value>
</sv:property>
<sv:property sv:name="hst:iconpath" sv:type="String">
<sv:value>images/catalog-list.png</sv:value>
</sv:property>
<sv:property sv:name="hst:label" sv:type="String">
<sv:value>Contacts</sv:value>
</sv:property>
<sv:property sv:name="hst:parameternames" sv:type="String" sv:multiple="true">
<sv:value>title</sv:value>
<sv:value>scope</sv:value>
<sv:value>docType</sv:value>
<sv:value>sortBy</sv:value>
<sv:value>backgroundColor</sv:value>
<sv:value>sortOrder</sv:value>
<sv:value>secondSortBy</sv:value>
<sv:value>secondSortOrder</sv:value>
<sv:value>pageSize</sv:value>
</sv:property>
<sv:property sv:name="hst:parametervalues" sv:type="String" sv:multiple="true">
<sv:value>contact</sv:value>
<sv:value>/</sv:value>
<sv:value>rfonline:contactsdocument</sv:value>
<sv:value>rfonline:contactRegionOrder</sv:value>
<sv:value>light</sv:value>
<sv:value>ascending</sv:value>
<sv:value>rfonline:contactOrder</sv:value>
<sv:value>ascending</sv:value>
<sv:value>21</sv:value>
</sv:property>
<sv:property sv:name="hst:template" sv:type="String">
<sv:value>standard.main.contacts</sv:value>
</sv:property>
<sv:property sv:name="hst:xtype" sv:type="String">
<sv:value>HST.Item</sv:value>
</sv:property>
</sv:node>
</sv:node>
</sv:node>
</sv:node>
pageSize 属性を 21 に設定した home.xml を次に示します。これを 50 に増やしましたが、それでもドキュメントの合計が表示されません。
Contacts.java では pageSize 属性は使用されませんが、Contacts クラスは、pageSize が使用される BaseComponent クラスを拡張します。Contacts クラスと BaseComponent クラスのコード スニペットを次に示します。
@ParametersInfo(type = ContactsInfo.class)
public class Contacts extends BaseComponent{
//code
}
public abstract class BaseComponent extends BaseHstComponent {
public static final Logger log = LoggerFactory.getLogger(BaseComponent.class);
protected void createAndExecuteSearch(final HstRequest request, final GeneralParamsInfo info, final HippoBean scope, final Map<String,Object> queryMap) throws HstComponentException {
int pageSize = info.getPageSize();
if (pageSize == 0) {
log.warn("Empty pageSize or set to null. This is not a valid size. Use default size");
}
try {
HstQuery hstQuery = getQueryManager(request).createQuery(scope, filterClass, true);
hstQuery.setLimit(pageSize);
hstQuery.setOffset(pageSize * (crPage - 1));
if (sortBy != null && !"".equals(sortBy)) {
if (sortOrder == null || "".equals(sortOrder)||"descending".equals(sortOrder)) {
hstQuery.addOrderByDescending(sortBy);
} else {
hstQuery.addOrderByAscending(sortBy);
}
}
String querys = null;
}
final Object attribute = request.getAttribute("isPageableCollection");
final Boolean isPageableCollection = (Boolean) (attribute != null ? attribute : false);
if (info instanceof PageableListInfo && ((PageableListInfo) info).isPagesVisible()) {
if (result.getTotalSize() > pageSize) {
List<Integer> pages = new ArrayList<Integer>();
int numberOfPages = result.getTotalSize() / pageSize;
if (result.getTotalSize() % pageSize != 0) {
numberOfPages++;
}
for (int i = 0; i < numberOfPages; i++) {
pages.add(i + 1);
}
request.setAttribute("pages", pages);
}
}
} catch (QueryException e) {
throw new HstComponentException("Exception occured during creation or execution of HstQuery. ", e);
}
}
}
そして、ここに私の ContactInfo インターフェイスがあります:-
public interface ContactsInfo extends GeneralParamsInfo {
@Parameter(name = "scope", defaultValue="/", displayName = "Scope")
@DocumentLink(docType = "rfonline:contactsdocument")
String getScope();
@Override
@Parameter(name = "docType", displayName = "Document Type", defaultValue="rfonline:contactsdocument")
String getDocType();
@Parameter(name = "backgroundColor", defaultValue="light", displayName = "Background Color")
String getBackgroundColor();
}