portal爱好者


 
标题: [ibm] wcm (内容的读取)高手进来看看,有源代码
  本主题由 vesaa 于 2009-10-28 11:05 加入精华 
yefeng105032034
初级会员
Rank: 2
将军


UID 923
精华 1
积分 202
帖子 12
威望 156
金钱 124
积分限制 1
注册 2007-9-3
来自 四川
状态 离线
发表于 2009-10-23 20:37  资料 主页 文集 短消息  QQ Yahoo!
wcm (内容的读取)高手进来看看,有源代码

经过两天的折腾总算将那棵栏目树用API导出来了,建栏目的人真变态,树的节点深得要命9层子节点啊!
p'm2]F6US ~导完栏目后根据栏目的id去取栏目下的文章。文章的标题和时间及其它作者之类的都可以取到了,可以内容读不到,以下是源代码
y        ^)X8B9C1gportal爱好者int i=1;
*W a,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 \0UlJe h)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"Eh 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}_v8US W X%Jwww.portalfan.com                }
:X:^"x4sG!A.Wa
`X
文章的标题和时间都能取到了,内容怎么取呢?
F8|[3Fx/D nbK我用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        Z o后来又使用 Workspace 的 createRenderContext() 和 render() 方法
4NFc@.y#ftry {0Hi+be;ZtxB
SiteArea siteArea ="lv+Wv\4y&{
(SiteArea) workspace.getById(workspace.createDocumentId(siteAreaId));
iry8`Ol~#X Content content =:kuT:^"d&\ rP'l
    (Content) workspace.getById(workspace.createDocumentId(contentId));
{ WPD;jportal爱好者 Map parametermap = new HashMap();
y6rm5|O
ht&}
// create a rendering context?
pa4HP uAZ2a

 RenderingContext context =
I+@c.Yywww.portalfan.com    workspace.createRenderingContext(request, response, parametermap);+BH6M U&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) {
&tDH v'Q1G3g  …..
        P,R7voy7[$e4s }
;W"M        o*W*m'tjwww.portalfan.com高手们帮看看我最上面代码怎么改下可以取到内容,谢谢各位!
顶部
yefeng105032034
初级会员
Rank: 2
将军


UID 923
精华 1
积分 202
帖子 12
威望 156
金钱 124
积分限制 1
注册 2007-9-3
来自 四川
状态 离线
发表于 2009-10-26 12:35  资料 主页 文集 短消息  QQ Yahoo!
内容读取已搞定:
Z_tBf&y8E@
L&nwww.portalfan.com
RichTextComponent wcm_rich= (RichTextComponent)content.getComponent("content");
$o3}l
~hS7uk
out.println("---内容---"+wcm_rich.getRichText());portal爱好者:}srMj+}        Gw
要读附件改下getComponent就行。
2\pm8I(rTportal爱好者
2bx` P8p/Q第二种方法:
+s)p6t
c.gwww.portalfan.com
RenderContentTest.java 文件中使用 Workspace 的 createRenderContext() 和 render() 方法
顶部
lwchina2000
初级会员
Rank: 2



UID 3293
精华 0
积分 235
帖子 23
威望 202
金钱 142
积分限制 1
注册 2009-10-21
状态 离线
发表于 2009-11-3 15:21  资料 文集 短消息 
谢谢楼主共享资料! 我汗!不到20字节就是不让回复!
顶部
yefeng105032034
初级会员
Rank: 2
将军


UID 923
精华 1
积分 202
帖子 12
威望 156
金钱 124
积分限制 1
注册 2007-9-3
来自 四川
状态 离线
发表于 2009-11-8 21:56  资料 主页 文集 短消息  QQ Yahoo!
呵呵,谢谢版主给我加精4K1H.I+a-Ef
    if(file[j].indexOf("file resource")!=-1){//取图片附件及文档附件(图片为file resource,其它类型的为file resources.  将附件写到linux的物理文件夹内E%uI-k y!a^$_Q
         FileComponent wcm_filerich= (FileComponent)content.getComponent(file[j]);
zX([P!Vp)A.o"@C         if(wcm_filerich!=null&&wcm_filerich.getFileName()!=null&&wcm_filerich.getFile()!=null){  ,dF7`/x2v7g        ?$F0z
         String linuxid=DATE_FORMAT_SHOW.format(new java.util.Date());
%~,N$k
JQp*kportal爱好者
         linuxid=linuxid+j+wcm_filerich.getFileName().substring(wcm_filerich.getFileName().lastIndexOf("."),wcm_filerich.getFileName().length());portal爱好者(_(?#{,c~1M6N
                 byte[] b=wcm_filerich.getFile();
1eVLh!Twww.portalfan.com                          File source = new File("/usr/oldfile/"+linuxid);portal爱好者^ m3P'O1K
                          FileOutputStream  fileout = new FileOutputStream (source);e6jNRuG$oNe
                          fileout.write(b);4b"y+gBHCT
                          fileout.close();
q_zyL
FUV5@8t,Hn
                    }
Q O'ky6]dportal爱好者                }
顶部
oppal
初级会员
Rank: 2



UID 4408
精华 0
积分 265
帖子 48
威望 196
金钱 148
积分限制 1
注册 2010-4-23
状态 离线
发表于 2010-8-13 11:38  资料 文集 短消息 
到处赚分,我要下载。。。。。。。。。。。。。
顶部
 


当前时区 GMT+8, 现在时间是 2010-9-10 05:05
粤ICP备06127090

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.065936 second(s), 11 queries , Gzip enabled

清除 Cookies - 联系我们 - portalfan