`

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

阅读更多
在OpenCms中有的时候要使用程序来建立目录,或者可能需要要用程序来建立对应自己定义的内容类型的内容文件,具体实现思路如下:
//路径的设定与当前操作文件所在的目录有关,假设当前文件存储在
//"/system/modules/cn.dce.www.migrate/elements/"内;
//eg.file name
resourcePath = "/project/static/aboutUs/123.html." ;
//eg.folder name
folderPath = "/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 我注册的时候是601
int 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]
   如果我能解答,一定及时给您恢复。
3
0
分享到:
评论
2 楼 javajiao 2008-11-07  
谢谢楼上支持
我的学习过程也是看这你的 燕子坞 博文

逛 OpenCms中文论坛 过来的。
1 楼 wangyi878750 2008-11-06  

相关推荐

    OpenCms创建网站过程图解——献给OpenCms的初学者们

    ### OpenCms创建网站过程详解 #### 一、OpenCms简介及背景 OpenCms是一款开源的内容管理系统(Content Management System, CMS),它基于Java技术,主要用于构建和管理复杂的多语言网站。OpenCms提供了强大的功能集...

    如何创建OpenCms后台管理模块

    - **创建源代码目录**:在你的开发环境中(如Eclipse或IntelliJ IDEA)创建一个新的Java项目,并设置好OpenCms的类路径依赖。 - **编写模块XML配置**:创建`module.xml`文件,指定模块的基本信息,如名称、版本、...

    OpenCms 内容类型模块

    在 OpenCms 中,模块是代码和资源的集合,用于扩展或修改系统的功能。通过编辑 manifest.xml,开发者可以声明模块的功能,使其能在 OpenCms 环境中正确地安装和加载。 "system" 目录则可能包含了 OpenCms 的核心...

    opencms路径去掉两个opencms的方法总结

    - 如果你的服务器支持虚拟主机配置,可以创建一个新的虚拟主机,将域名直接映射到OpenCMS的应用程序目录。这样,URL将不会显示任何关于OpenCMS的信息。 5. **更改项目模块配置** - 对于基于Spring或其它框架的...

    opencms 9.0.1 汉化包

    此目录下的文件可能是汉化后的语言文件、资源配置文件或者系统组件。`system`目录下的文件结构可能与OpenCMS的模块结构相对应,比如`localization`子目录可能包含不同语言的翻译文件,`templates`可能有汉化的页面...

    opencms模版

    `system`目录则可能包含了OpenCMS系统的相关文件,如核心库、配置文件或其他系统级别的组件。在OpenCMS中,"system"通常是存放全局资源的地方,比如主题、样式表、JavaScript文件、图片和其他媒体资源。开发者或管理...

    [CMS程序]OpenCms v6.2.1_opencms.rar

    1. **WEB-INF**:这是一个标准的Java Web应用程序目录,包含Web应用的配置文件、类文件和其他资源。在OpenCms中,它可能包含web.xml(Web应用的部署描述符),Servlet和JSP的编译后的类文件,以及其他必要的库(JAR...

    opencms9 汉化包

    系统目录下通常会有多个子目录,每个子目录对应OpenCMS的不同模块或功能,比如administration(后台管理)、templates(模板)、resources(资源)等。这些子目录中的文件可能是XML配置文件、图片、CSS样式表或者...

    opencms9 java api

    2. **资源管理**:OpenCMS 提供了强大的资源管理功能,包括文件、图片和其他媒体资源。Java API 允许开发者对资源进行上传、下载、移动、重命名和删除操作,同时支持版本控制和访问权限设置。 3. **工作流引擎**:...

    opencms

    此外,OpenCms提供了直观的用户界面,便于内容编辑者进行日常操作,如内容创建、修改和发布等。 二、Java API详解 OpenCms的Java API涵盖了几乎所有核心功能,包括内容管理、工作流、权限管理、搜索和索引、缓存...

    OpenCMS

    ### OpenCMS:构建网站的新选择 #### 一、OpenCMS简介与特性 OpenCMS是一款功能强大的开源内容管理系统(Content Management System, ...此外,该书也适合那些希望了解或进一步探索OpenCMS功能特性的企业和个人参考。

    OpenCms 7 Development(最好的OpenCms二次开发资料)

    这本书的出现,无疑是为那些想要充分利用OpenCms7功能的开发者提供了宝贵的资源。 OpenCms的核心特性包括内容创建、版本控制、工作流程管理、多语言支持以及基于模板的发布机制。通过本书,读者将能够了解到如何...

    opencms建站手册

    Opencms的文件结构分为几个主要部分,包括源代码、配置文件、模板和资源。源代码包含了Opencms的核心组件;配置文件用于定义系统行为和用户权限;模板是用于生成网站页面的HTML文件,可以使用JSP、Velocity或其他...

    opencms 内容管理入门指南

    - **解压部署**:将下载的OpenCMS文件解压到服务器的合适目录,并配置相关的配置文件(如`web.xml`和`ocms.properties`)。 - **启动服务**:通过应用服务器(如Tomcat)启动OpenCMS服务。 ### 3. 开发环境设置 ...

    OPENCMS GeoMap模块

    解压后,你需要按照readme文件的指示将这些文件上传到OPENCMS服务器的正确目录,然后在后台进行配置,使模块生效。 在OPENCMS GeoMap模块的使用过程中,你可能会涉及以下几个关键知识点: 1. **Google Maps API...

    [CMS程序]OpenCms 7.5.2.zip

    5. **数据库集成**:OpenCms用于存储和管理内容,因此它会与数据库系统如MySQL、Oracle或PostgreSQL等集成,用于存储网站的页面、文章、图片等资源。 6. **XML和XSLT**:OpenCms可能使用XML来存储和组织内容,而...

    OpenCms9.0.1 新鲜下载

    至于"system"目录,这通常包含OpenCms的核心组件和系统设置,如配置文件、库文件和其他系统级别的资源。 总的来说,OpenCms 9.0.1是一个功能完备、易用且高度可定制的CMS解决方案,特别适合需要中文界面的企业或...

    opencms配置去掉2个opencms总结

    标题中的“opencms配置去掉2个opencms”指的是在OpenCms系统中,可能有用户想要移除或禁用两个特定的OpenCms组件或功能,可能是出于优化性能、减少冗余或者简化系统的考虑。OpenCms是一款开源的内容管理系统,它允许...

    opencms源码

    OpenCms支持与其他系统的集成,如LDAP用于用户身份验证,或者通过Web服务接口与其他应用程序交换数据。此外,开发者还可以利用API创建自定义模块,实现特定业务逻辑。 7. **社区支持** 作为开源项目,OpenCms拥有...

Global site tag (gtag.js) - Google Analytics