为什么在JSP中使用OpenCms特性?
OpenCms提供了很多特性帮助你加速开发进度,如模板、用户管理和权限设置和缓存管理,同样你也可以根据OpenCms的文件结构创建动态的导航,OpenCms虚拟文件系统(VFS)中所有的文件都保存在数据库中,为了访问任何的OpenCms VFS信息你都必须使用OpenCms提供的JSP API。
两种基本方式
在JSP文件中有两种方式来访问OpenCms系统:
1、使用OpenCms标签库,通常以“<cms:>”开始
2、在你的脚本中使用“OpenCms org.opencms.jsp.CmsJspActionElement
”
通学的功能使用这两种方法都可以完成,这通常就是个人经验和喜好的问题了,JSP标签对于JAVA新手来说更易用些,甚至不懂JAVA但HTML经验很丰富,就可以像用HTML标签一样来使用这些标签,另一方面,JAVA丰富的老手可能更热衷于使用脚本代码(使用JavaBeans来处理业务逻辑)来获得更灵活的控制和更高的性能。
如果你正在使用OpenCms标签,你应该考虑与通常的JSP标签结合使用来完成某些功能,如loop,if-then,enumerations等。建议使用JSP2.0标准中的JSTL(Java标准标签库),在Alkacon文档(OpenCms安装成功后的系统帮助文档)中有一些JSTL的例子。
如果你想要实现更高级的功能,如导航或表单,你就必须使用API来写脚本了。
OpenCms <cms:>标签
如果要使用OpenCms标签库,在你的JSP中必须按如下声明:
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
执行结果如下:
OpenCms 脚本 API
在你的脚本中访问OpenCms API,首先要创建一个 JavaBean org.opencms.jsp.CmsJspActionElement的实例,如下:
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/1327ab569c1ae82736693a50b8e33378.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0196c3df5ea9e936f21e9932cca91014.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
运行结果如下: