wcm (内容的读取)高手进来看看,有源代码
经过两天的折腾总算将那棵栏目树用API导出来了,建栏目的人真变态,树的节点深得要命9层子节点啊!
p'm2]F6US~导完栏目后根据栏目的id去取栏目下的文章。文章的标题和时间及其它作者之类的都可以取到了,可以内容读不到,以下是源代码
y ^)X8B9C1gportal爱好者int i=1;
*Wa,k~Oz DocumentId doc=workspace.createDocumentId("com.ibm.workplace.wcm.api.WCM_SiteArea/bm_skzx_jhzj/4a731f8047dfeb3fa0e9ec1711fedfbe/false");//指定节点:[9UI#bQ7U9x2Br*R9w
if(doc.isOfType(DocumentTypes.SiteArea)){
e}? ?@1E/i[
D&G0I SiteArea acceptArea=(SiteArea)workspace.getById(doc);K"C'ixP#uits@
DocumentIdIterator acc= acceptArea.getAllChildren();p,V-[7e S$odOLp
if (null == acc) return;
7h4r!i'Vw3` while(acc.hasNext()){www.portalfan.com9L&^0`.c%wYi
DocumentId d=(DocumentId)acc.next();
g \0UlJeh)kTportal爱好者 if(d.getType().equals(DocumentTypes.Content)){//去掉栏目U#Jol-n
if(doc.getName().equals(((Content)workspace.getById(d)).getDirectParent().getName())){
9kL:VmZ Bg$h D Content content=(Content)workspace.getById(d);www.portalfan.comF[n"E h u,{
out.println("<br>"+i+"-title-:"+content.getTitle()+"-保存时间-"+((Content)workspace.getById(d)).getModifiedDate());
{/oz(L(o,Spwww.portalfan.com i++;0h;x6|T.k
}
g0i9IYbe{o*A9In }
g$StxO;y
Ce
}
R}_v8USWX%Jwww.portalfan.com }
:X:^"x4sG!A.Wa
`X文章的标题和时间都能取到了,内容怎么取呢?
F8|[3Fx/DnbK我用url方式去取了o&y$L3[ut}i
RenderingContext context = workspace.createRenderingContext(request,response, parametermap);
B0VU)p(}]s)_quportal爱好者 context.setWcmWebAppPath("http://localhost:9081/wps/wcm");www.portalfan.com*b#`0]G9f;UEGK
context.setRenderedContent(path);
2r}ux{|L lN2~wwww.portalfan.comString render = workspace.render(context);
'MD$T g;tHB但是这种方法setWcmWebAppPath及path值一直没传正确,不知道这两个值应该怎么填,试过几次都读不到数据。
e@~6t Zo后来又使用 Workspace 的 createRenderContext() 和 render() 方法
4NF c@.y#ftry {0Hi+be;ZtxB
SiteArea siteArea ="lv+Wv\4y&{
(SiteArea) workspace.getById(workspace.createDocumentId(siteAreaId));
iry8`Ol~#X Content content =:k uT:^"d&\ rP'l
(Content) workspace.getById(workspace.createDocumentId(contentId));
{WPD;jportal爱好者 Map parametermap = new HashMap();
y6rm5|O
ht&}// create a rendering context?
pa4HPuAZ2a
RenderingContext context =
I+@c.Yywww.portalfan.com workspace.createRenderingContext(request, response, parametermap);+BH6MU&H[
^R)?
// set proper design page and content to be rendered
O7s
hQ5r7K%w
` context.setPresentationTemplateOverride(presentationTemplateName);
,T5U"^4N?www.portalfan.com context.setRenderedContent(content, siteArea);
Z"F;wF
[^O:P`www.portalfan.com// render selected content in Web pageportal爱好者E"]0a%d`JDb
output.append(workspace.render(context));
}7C%C%iN8i(^%cu
} catch (Exception e) {
&tDHv'Q1G3g …..
P,R7voy7[$e4s }
;W"M o*W*m'tjwww.portalfan.com高手们帮看看我最上面代码怎么改下可以取到内容,谢谢各位!
|