`

opencms批量修改filetype和filename

CMS 
阅读更多

注意:我下面的程序是在数据迁移的事候,用来批量修改自定义结构化页面的,在批量修改filetype的时候请确保,修改后的模版xsd与修改前的一样,否则出现问题别找我。

 

代码如下:

CmsJspActionElement cms = new CmsJspActionElement(pageContext,request,response);

CmsObject cmso = cms.getCmsObject();
			List list = cmso.getResourcesInFolder(folderName, CmsResourceFilter.ALL);
			Iterator it = list.iterator();
			while(it.hasNext()){
				CmsResource resource = (CmsResource) it.next();
				if(resource.isFolder()){
					continue;
				}
				String target = resource.getRootPath();
				out.println(changeFileType(cms, target, newType));

...

/*
* 修改文件的file type属性
* 参数:target是目标文件的路径(绝对)
*/
public String changeFileType(CmsJspActionElement cms, String target, int newTypeId){
	String rst = "";
	Locale locale = Locale.ENGLISH;
	try{
		CmsObject cmso = cms.getCmsObject();
		cmso.lockResource(target);
		CmsResource resource = cmso.readFile(target, CmsResourceFilter.ALL);
		resource.setType(newTypeId);
		cmso.writeResource(resource);
		cmso.unlockResource(target);
		rst += target+" modify filetype to "+newTypeId+" success.<br/>";
	}catch(Exception e){
		rst+= e.getMessage()+"<br/>";
		e.printStackTrace();
	}
	return rst;
}

 

批量修改文件名,也可以用来批量移动文件:

CmsJspActionElement cms = new CmsJspActionElement(pageContext,request,response);

...

List list = cmso.getResourcesInFolder(folderName, CmsResourceFilter.ALL);
			Iterator it = list.iterator();
			while(it.hasNext()){
				CmsResource resource = (CmsResource) it.next();
				if(resource.isFolder()){
					continue;
				}
				String source = resource.getRootPath();
				String fileName = resource.getName();
				
				String target = folderName+"/"+fileName.replace("aa","bb");
				out.println(changeFileName(cms, source, target));

...

/*
* batch修改文件name
* 参数:target是目标文件的路径(绝对)
*/
public String changeFileName(CmsJspActionElement cms, String source, String target){
	String rst = "";
	Locale locale = Locale.ENGLISH;
	try{
		CmsObject cmso = cms.getCmsObject();
		cmso.lockResource(source);
		CmsResource resource = cmso.readFile(source, CmsResourceFilter.ALL);
		cmso.moveResource(source,target);
		rst += "raname file:"+source+" to "+target+" success.<br/>";
	}catch(Exception e){
		rst+= e.getMessage()+"<br/>";
		e.printStackTrace();
	}
	return rst;
}
 
分享到:
评论

相关推荐

    OpenCms 8.5 修改编辑器 CmsPopup 弹出框

    总的来说,理解和修改OpenCms 8.5中的CmsPopup编辑器弹出框,不仅需要对Java语言有扎实的掌握,还需要熟悉OpenCms的架构和API。通过这样的修改,我们可以提升用户在编辑内容时的交互体验,同时展示出对开源项目源码...

    opencms

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

    OpenCMS

    OpenCMS的核心优势在于其灵活的架构和丰富的插件支持,这使得开发者能够轻松地根据需求定制和扩展功能。 #### 二、OpenCMS的主要功能与应用 1. **多语言支持**:OpenCMS提供了全面的多语言支持,这对于面向全球...

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

    通过阅读和分析源码,开发者可以更好地调试和修改OpenCms的核心组件。 7. **部署与维护**:书中还将涉及OpenCms的安装、升级和备份策略,以及如何处理常见问题和故障排查。 总之,《OpenCms 7 Development》是...

    OpenCms 7.x和8.x 升级到 OpenCms 9.5.2

    Update your existing OpenCms installation to version 9.5.2 with the easy to use upgrade wizard. OpenCms 7.x 和8.x 升级到OpenCms 9.5.2版本安装向导。

    opencms9 java api

    6. **事件机制**:通过监听和处理系统事件,开发者可以实现特定的行为,如在内容发布前进行检查或在内容修改后执行某些操作。 7. **安全性**:OpenCMS 提供了一套安全机制,包括用户管理、角色分配和权限控制。...

    OpenCms中文文档完整版

    文档中会解释如何设置和定制工作流程,确保内容在发布前经过适当的审核和修改。 5. **安全设置**:安全性是任何网站的重要考量,OpenCms提供了多层安全机制。文档将指导用户如何设置用户权限、角色和访问控制,以及...

    opencms配置去掉2个opencms总结

    5. **部署和测试**:完成上述修改后,需要重新部署OpenCms并进行功能测试,确保其他依赖这些组件的功能没有受到影响。 6. **日志分析**:在去除组件后,分析系统日志,检查是否有错误信息,确认系统运行正常。 7. ...

    OpenCms 内容类型模块

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

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

    在IT行业中,OpenCMS是一个开源的内容管理系统,用于构建和管理企业级的网站。当我们部署或使用OpenCMS时,可能会遇到URL路径中包含“opencms”两次的情况,这可能对网站的用户体验和SEO(搜索引擎优化)产生不利...

    OpenCms 8.0.2 GWT API.CHM

    自压缩,效果很好。值得下载。 离线浏览。 最新版的v8.0.2的奥。

    OpenCms9.0.1 新鲜下载

    OpenCms是一款开源的内容管理系统(CMS),主要用于构建和管理企业级的网站。它的全称是Open Content Management System,强调开放源代码和灵活的内容管理。在本文中,我们将深入探讨OpenCms 9.0.1版本及其特点。 ...

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

    #### 五、修改OpenCms配置文件 1. **定位配置文件**:找到`tomcat/webapps/cms623/WEB-INF/config/opencms-system.xml`文件。 2. **增加配置**:在文件中增加以下配置: ```xml ``` 这段配置...

    Building Websites with OpenCms

    OpenCms以其灵活的架构、友好的用户界面和丰富的功能,深受开发者和网站管理员的喜爱。本篇文章将深入探讨使用OpenCms来构建网站的关键知识点。 一、OpenCms基础 OpenCms的核心功能包括内容创建、版本控制、模板...

    opencms二次开发

    二次开发是指对OpenCMS的原始代码进行修改或扩展,以适应特定项目的需求。 在进行OpenCMS的二次开发时,你需要熟悉以下几个核心知识点: 1. **Java编程基础**:OpenCMS是用Java开发的,因此二次开发需要具备扎实的...

    opencms源码

    OpenCms是一个开源的内容管理系统(CMS),用于构建和管理企业级的互联网和内联网站点。这个源码包“opencms-10.0.1”提供了完整的开发环境,允许开发者深入理解其内部工作原理,并对其进行自定义和扩展。下面我们将...

    opencms中文用户手册

    OpenCMS是一款开源的内容管理系统,专为创建、管理和发布Web内容而设计。这款系统以其灵活性、可扩展性和易用性在IT行业中备受推崇。"opencms中文用户手册"是为那些希望在中国地区使用OpenCMS的人们提供的宝贵资源,...

    OpenCms中文用户手册

    OpenCms中文用户手册是为了解决开源网站内容管理系统OpenCms的使用者在操作和管理过程中遇到的问题而编写的详尽指南。OpenCms是一款基于Java技术构建的强大的Web内容管理系统,它提供了一套完整的解决方案,用于创建...

    opencms教程.rar

    OpenCMS(开源内容管理系统)是一款基于Java技术的开源Web内容管理系统,广泛应用于企业级网站建设和管理。本教程“opencms教程.rar”旨在帮助用户掌握OpenCMS的基本操作和高级功能,以便有效地创建、管理和维护网站...

Global site tag (gtag.js) - Google Analytics