在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]
如果我能解答,一定及时给您恢复。
分享到:
相关推荐
### OpenCms创建网站过程详解 #### 一、OpenCms简介及背景 OpenCms是一款开源的内容管理系统(Content Management System, CMS),它基于Java技术,主要用于构建和管理复杂的多语言网站。OpenCms提供了强大的功能集...
- **创建源代码目录**:在你的开发环境中(如Eclipse或IntelliJ IDEA)创建一个新的Java项目,并设置好OpenCms的类路径依赖。 - **编写模块XML配置**:创建`module.xml`文件,指定模块的基本信息,如名称、版本、...
在 OpenCms 中,模块是代码和资源的集合,用于扩展或修改系统的功能。通过编辑 manifest.xml,开发者可以声明模块的功能,使其能在 OpenCms 环境中正确地安装和加载。 "system" 目录则可能包含了 OpenCms 的核心...
- 如果你的服务器支持虚拟主机配置,可以创建一个新的虚拟主机,将域名直接映射到OpenCMS的应用程序目录。这样,URL将不会显示任何关于OpenCMS的信息。 5. **更改项目模块配置** - 对于基于Spring或其它框架的...
此目录下的文件可能是汉化后的语言文件、资源配置文件或者系统组件。`system`目录下的文件结构可能与OpenCMS的模块结构相对应,比如`localization`子目录可能包含不同语言的翻译文件,`templates`可能有汉化的页面...
`system`目录则可能包含了OpenCMS系统的相关文件,如核心库、配置文件或其他系统级别的组件。在OpenCMS中,"system"通常是存放全局资源的地方,比如主题、样式表、JavaScript文件、图片和其他媒体资源。开发者或管理...
1. **WEB-INF**:这是一个标准的Java Web应用程序目录,包含Web应用的配置文件、类文件和其他资源。在OpenCms中,它可能包含web.xml(Web应用的部署描述符),Servlet和JSP的编译后的类文件,以及其他必要的库(JAR...
系统目录下通常会有多个子目录,每个子目录对应OpenCMS的不同模块或功能,比如administration(后台管理)、templates(模板)、resources(资源)等。这些子目录中的文件可能是XML配置文件、图片、CSS样式表或者...
2. **资源管理**:OpenCMS 提供了强大的资源管理功能,包括文件、图片和其他媒体资源。Java API 允许开发者对资源进行上传、下载、移动、重命名和删除操作,同时支持版本控制和访问权限设置。 3. **工作流引擎**:...
此外,OpenCms提供了直观的用户界面,便于内容编辑者进行日常操作,如内容创建、修改和发布等。 二、Java API详解 OpenCms的Java API涵盖了几乎所有核心功能,包括内容管理、工作流、权限管理、搜索和索引、缓存...
### OpenCMS:构建网站的新选择 #### 一、OpenCMS简介与特性 OpenCMS是一款功能强大的开源内容管理系统(Content Management System, ...此外,该书也适合那些希望了解或进一步探索OpenCMS功能特性的企业和个人参考。
这本书的出现,无疑是为那些想要充分利用OpenCms7功能的开发者提供了宝贵的资源。 OpenCms的核心特性包括内容创建、版本控制、工作流程管理、多语言支持以及基于模板的发布机制。通过本书,读者将能够了解到如何...
Opencms的文件结构分为几个主要部分,包括源代码、配置文件、模板和资源。源代码包含了Opencms的核心组件;配置文件用于定义系统行为和用户权限;模板是用于生成网站页面的HTML文件,可以使用JSP、Velocity或其他...
- **解压部署**:将下载的OpenCMS文件解压到服务器的合适目录,并配置相关的配置文件(如`web.xml`和`ocms.properties`)。 - **启动服务**:通过应用服务器(如Tomcat)启动OpenCMS服务。 ### 3. 开发环境设置 ...
解压后,你需要按照readme文件的指示将这些文件上传到OPENCMS服务器的正确目录,然后在后台进行配置,使模块生效。 在OPENCMS GeoMap模块的使用过程中,你可能会涉及以下几个关键知识点: 1. **Google Maps API...
5. **数据库集成**:OpenCms用于存储和管理内容,因此它会与数据库系统如MySQL、Oracle或PostgreSQL等集成,用于存储网站的页面、文章、图片等资源。 6. **XML和XSLT**:OpenCms可能使用XML来存储和组织内容,而...
至于"system"目录,这通常包含OpenCms的核心组件和系统设置,如配置文件、库文件和其他系统级别的资源。 总的来说,OpenCms 9.0.1是一个功能完备、易用且高度可定制的CMS解决方案,特别适合需要中文界面的企业或...
标题中的“opencms配置去掉2个opencms”指的是在OpenCms系统中,可能有用户想要移除或禁用两个特定的OpenCms组件或功能,可能是出于优化性能、减少冗余或者简化系统的考虑。OpenCms是一款开源的内容管理系统,它允许...
OpenCms支持与其他系统的集成,如LDAP用于用户身份验证,或者通过Web服务接口与其他应用程序交换数据。此外,开发者还可以利用API创建自定义模块,实现特定业务逻辑。 7. **社区支持** 作为开源项目,OpenCms拥有...
通过创建一个简单的页面,我们学习了OpenCMS的基本操作流程,包括创建目录、编辑内容和发布等关键步骤。 **3.4 创建JSP模版** - **3.4.1 创建模块** - 定义模块的样式和布局; - 设置模块的属性。 - **3.4.2 ...