用opencms java API获取资源信息

获得列表信息

<%
CmsJspXmlContentBean cms= new CmsJspXmlContentBean(pageContext, request, response);
String path = cms.getRequestContext().getFolderUri();
CmsObject cmsobj= cms.getCmsObject();
String pageName = cms.info("opencms.request.uri");
out.println(pageName);
I_CmsXmlContentContainer contentContainer = cms.contentload("allInFolderPriorityDateDesc", "/myfirstsite/sports/001_news.html|news|3", true);
List result=contentContainer.getCollectorResult();
for(int j=0;j<result.size();j++){
CmsResource resource = (CmsResource) result.get(j);
CmsXmlContent content =
CmsXmlContentFactory.unmarshal (cmsobj, resource, request);
out.println(content.getStringValue(cmsobj,"Title", cms.getRequestContext().getLocale()));
out.println(content.getStringValue(cmsobj,"Author", cms.getRequestContext().getLocale()));
}
%>

获得单个资源信息

 <%
CmsJspXmlContentBean cms= new CmsJspXmlContentBean(pageContext, request, response);
String path = cms.getRequestContext().getFolderUri();
CmsObject cmsobj= cms.getCmsObject();
String pageName = cms.info("opencms.request.uri");
SimpleDateFormat dateformat1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
I_CmsXmlContentContainer contentContainer = cms.contentload("singleFile",pageName , true);
Iterator it = contentContainer.getCollectorResult ().iterator();
if(it.hasNext ()) {
CmsResource resource = (CmsResource) it.next();
CmsXmlContent content =
CmsXmlContentFactory.unmarshal (cmsobj, resource, request);
out.println(content.getStringValue(cmsobj,"Title", cms.getRequestContext().getLocale()));
out.println(content.getStringValue(cmsobj,"Author", cms.getRequestContext().getLocale()));
String sdate=content.getStringValue(cmsobj,"Date", cms.getRequestContext().getLocale());
Date d= new Date(Long.parseLong(sdate));
out.println(d);
out.println(content.getStringValue(cmsobj,"Text", cms.getRequestContext().getLocale()));
}
%>

获得导航

CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response);
java.util.List list = cms.getNavigation().getNavigationForFolder();
java.util.Iterator i = list.iterator();
while (i.hasNext()) {
CmsJspNavElement ne = (CmsJspNavElement)i.next();
String text=ne.getNavText() ;
String resName=ne.getResourceName();
}

曾经尝试完全用java api来实现分页,总是实现的不太好,一个重要的对象CmsCOntentInfoBean的生成方法没有暴露出来
主要用到了CmsJspXmlContentBean ,CmsObject ,I_CmsXmlContentContainer ,CmsResource,CmsXmlContent
几个主要对象

参考资料:

http://wangyi878750.blog.sohu.com/41378072.html

http://l--w.blog.sohu.com/47996664.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值