opencms中用程序创建目录和资源文件

本文介绍如何在OpenCms环境中创建特定类型的资源文件,包括设置文件路径、使用资源ID以及填充文件内容等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. //路径的设定与当前操作文件所在的目录有关,假设当前文件存储在   
  2. //"/system/modules/cn.dce.www.migrate/elements/"内;   
  3. //eg.file name   
  4. resourcePath = "/project/static/aboutUs/123.html." ;   
  5. //eg.folder name   
  6. folderPath = "/project/static/aboutUs/dynamicStockExchange/2008/08" ;   
  7.   
  8. //在OpenCms内所有的资源都对应其自己的资源ID   
  9. //具体资源与ID对应明细参考OpenCms——中文资源第一博客   
  10. //http://blog.youkuaiyun.com/qianxuncms/archive/2008/07/22/2693128.aspx   
  11. //这里是我转载的地址:http://javajiao.javaeye.com/admin/blogs/256031   
  12. //   
  13.   
  14. //在OpenCms内文件目录的资源ID是"0"   
  15. int folder_type = 0;   
  16.   
  17. //如果是自己定义的资源类型的文件   
  18. //此处的ID对应为OpenCms项目内config/opencms-module.xml文件中   
  19. //注册XSD时设定的ID 我注册的时候是601   
  20. int dce_information_type=601;   
  21.   
  22. try {   
  23.                 //创建一个指定类型的空的XML文件   
  24.                 //如果是创建folder类型的资源文件,只需要执行这条语句。   
  25.             cmsObject.createResource(resourcePath, dce_information_type);   
  26.                
  27.             //如果创建的内容文件,还需要添加内容。   
  28.             I_CmsXmlContentValue contentValue = null;   
  29.                
  30.             //有的时候避免操作的文件同时被别人占用   
  31.             //先将资源锁定,防止别人和你同时操作而出现异常。   
  32.             //cmsObject.lockResource(resourcePath);   
  33.                
  34.             //将新建立的空的XML文件散列   
  35.             CmsFile templateFile = cmsObject.readFile(resourcePath);   
  36.             CmsXmlContent template = CmsXmlContentFactory.unmarshal(cmsObject, templateFile);   
  37.                
  38.             //向散列后的文件中对对应的标记对内添加字符串内容.   
  39.             //取得"Title"字段,向其中添加对象title包含的内容。   
  40.             template.getValue("Title", Locale.CHINESE).setStringValue(cmsObject, title);   
  41.                
  42.             ... ...   
  43.                
  44.             //将散列的XML文件转换成byte[]   
  45.             templateFile.setContents(template.marshal());   
  46.             cmsObject.writeFile(templateFile);   
  47.   
  48.                 //如果前面对资源文件加锁了,开关原则,此处一定要解锁。   
  49.             //cmsObject.unlockResource(path);   
  50.                            
  51.         } catch (Exception e) {   
  52.             e.printStackTrace();   
  53.             out.println(e);   
  54.         }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值