首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

OpenCMS顶用程序创建目录和资源文件

2012-11-06 
OpenCMS中用程序创建目录和资源文件在OpenCms中有的时候要使用程序来建立目录,或者可能需要要用程序来建立

OpenCMS中用程序创建目录和资源文件
在OpenCms中有的时候要使用程序来建立目录,或者可能需要要用程序来建立对应自己定义的内容类型的内容文件,具体实现思路如下:

//路径的设定与当前操作文件所在的目录有关,假设当前文件存储在//"/system/modules/cn.dce.www.migrate/elements/"内;//eg.file nameresourcePath = "/project/static/aboutUs/123.html." ;//eg.folder namefolderPath = "/project/static/aboutUs/dynamicStockExchange/2008/08" ;//在OpenCms内所有的资源都对应其自己的资源ID//具体资源与ID对应明细参考OpenCms——中文资源第一博客//http://blog.csdn.net/qianxuncms/archive/2008/07/22/2693128.aspx//这里是我转载的地址:http://javajiao.iteye.com/admin/blogs/256031////在OpenCms内文件目录的资源ID是"0"int folder_type = 0;//如果是自己定义的资源类型的文件//此处的ID对应为OpenCms项目内config/opencms-module.xml文件中//注册XSD时设定的ID 我注册的时候是601int dce_information_type=601;try {    //创建一个指定类型的空的XML文件    //如果是创建folder类型的资源文件,只需要执行这条语句。cmsObject.createResource(resourcePath, dce_information_type);//如果创建的内容文件,还需要添加内容。I_CmsXmlContentValue contentValue = null;//有的时候避免操作的文件同时被别人占用//先将资源锁定,防止别人和你同时操作而出现异常。//cmsObject.lockResource(resourcePath);//将新建立的空的XML文件散列CmsFile templateFile = cmsObject.readFile(resourcePath);CmsXmlContent template = CmsXmlContentFactory.unmarshal(cmsObject, templateFile);//向散列后的文件中对对应的标记对内添加字符串内容.//取得"Title"字段,向其中添加对象title包含的内容。template.getValue("Title", Locale.CHINESE).setStringValue(cmsObject, title);... ...//将散列的XML文件转换成byte[]templateFile.setContents(template.marshal());cmsObject.writeFile(templateFile);      //如果前面对资源文件加锁了,开关原则,此处一定要解锁。//cmsObject.unlockResource(path);    } catch (Exception e) {    e.printStackTrace();    out.println(e);    }


ps:如果有其他问题,可以写邮件给我[jiaoyuanfeng@gmail.com]
   如果我能解答,一定及时给您恢复。 2 楼 javajiao 2008-11-07   谢谢楼上支持
我的学习过程也是看这你的 燕子坞 博文

逛 OpenCms中文论坛 过来的。

热点排行