ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:87.01KB ,
资源ID:1069792      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1069792.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(jeecms——二次开发相关文档(入门).doc)为本站会员(无敌)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

jeecms——二次开发相关文档(入门).doc

1、Jeecms 二次开发相关文档(入门)目录:(本文档中内容整理自网络并结合自己实际开发经验总结而来,文档后有相关内容引用出处,本处声明免责,不承担任何纠纷,文档供大家交流使用)Jeecms 二次开发相关文档(入门) .1一、jeecms 内部请 求转发运行原理 .2二、jeecms 使用 freemarker 标签示例及原理 .41、标签使用示例 .42、标签原理 .43、自定义标签(实例演示说明标签用法) .7三、在 MyEclipse 工作环境中构建 jeecms 项目 .101、搭建 Jeecms 的运行环境 .102、安装 jeecms 演示系统 .103、导入 Jeecms 项目 .

2、10一、jeecms 内部请求转发运行原理Jeecms 中有众多的配置文件,单 xml 配置文件就相当繁多,各个文件间的关联查找使用关系也不像简单的 struts 配置文件一样。如首页的显示过程如下。系统架构是 ssh+freemarker 模板构成的,所以先要熟悉 freemarker 模板技术。先看 web.xml 文件,其中欢迎页面有:index.jspa index.do index.html 接着再看 jeecms/core/struts-core-front.xml 配置文件,发现有个 action 的通用配置:$namespace $actionName struts 收到请求以

3、后,将请求转发到 core.dynamicSystemAct 这个对象,注意这个这个 class 并不是真正的类,是类的别名,由 spring 通过标注Controller进行绑定,web 应用上下文可以通过 classpath 自动扫描到这个类。Controller(“core.dynamicSystemAct“) public class DynamicSystemAct 在这个 action 执行之前,先要执行好几个拦截器。其他 struts 和 webwork 自带的拦截器不必说,主要说一下在程序里面自定义的几个比较重要的拦截器(定义在 jeecms/src/struts-defaul

4、t.xml 文件中) 。DomainNameInterceptorUrlInterceptorCookieIdentityInterceptor然后执行 action 自己的 execute 方法,产生 2 个参数:namespace = “/jeedynamic/“ + sys;actionName = “Page“;这 2 个参数决定了程序的走向,组成转发路径:/jeedynamic /jeecms/Page.do,然后通过查找下面的配置信息$tplPath $tplPath 注:其他的请求过程类似,先找到命名空间,然后找到对应的 action进行处理。将请求转发给 cms.cmsPage

5、Act 对象,同上的道理,对应到控制器:com.jeecms.cms.action.front.CmsPageAct。拦截器处理完毕后,执行自己的 execute 方法,判断若是首页,则执行 sysIndex()方法,返回一个模板路径tplPath:/WEB-INF/user_base/jeecms_com_www/template /article/default/index.html,找到这个文件,是文章对应的首页模板,里面有使用的各 freemarker 标签cms 等。二、jeecms 使用 freemarker 标签示例及原理1、标签使用示例可以看到,在 jeecms 系统的 htm

6、l 文档中经常有好多cms 等引用标签,这类标签是 freemarker 标签使用会是下列情况、单独标签调用示例:cms.ChnlList/ cms. ArtiList /(这个是显示文章列表的)、自定义标签调用示例: cms.ChnlList id= inner=1;c,i $c.name#if (i+1)%2=0/#if /cms.ChnlList 、配合其它标签嵌套调用示例: cms.ChnlList id= sysType=article hasContent=1 inner=1;c $c.name cms.ArtiList chnlId=c.id sysContent=1-1 tit

7、Len=20 count=6 / /cms.ChnlList2、标签原理部分常用标签参数:原理:如 freemarker 标签cms,定义在配置文件 freemarker.properties 中:auto_import=“/WEB-INF/ftl_lib/ as p, “/WEB-INF/ftl_lib/jeecms/index.ftl“ as cms cms 标签所用的 ftl 模板文件为 index.ftl。 打开 index.ftl 文件,includes 了多个 ftl,其中有 action_cms.ftl,该文件用标签#macro,自定义许多directive:ChnlList 和

8、 CommentList 等。里面使用 struts2 标签s.action 来请求数据,整个的 index.html 页面就是这么加载出来的。通过 freemarker 引擎来解析数据模型,最后显示到前台,展现给客户。index.html include head.htmlcms.ChnlList id= inner=1;c$c.name/cms.ChnlList对应 action_cms.ftl 中 macro ChnlList 定义, 使用 struts 标签 action 在 struts-front.xml 中找到对应的 class=“cms.chnlPartAct“.private

9、 Pagination tagChnlList() list = cmsChannelMng.getChild(getWebId(), sysType, chnlId, orderBy,isDisplay = 1 ? true : false, hasContent = 1 ? true : false,firstResult, count);pagination = new Pagination(pageNo, count, list.size(), list);return pagination;CmsChannelMng CmsChannelMngImplBaseManagerImplB

10、aseDaoBaseDaoImpl待整理:如页面跳到 action: article.articleActlist()将取出对应的文章pagination = articleMng.getRightArticle(getWebId(), chnlId,getAdminId(), queryInputAdminId, queryContentCtgId,queryDisabled, queryTopTime, queryTopLevel, queryStatus,queryTitle, queryOrder, pageNo, getCookieCount();(freemarker macro

11、对应参数)最终掉到 ArticleDaoImpl.public Pagination getRightArticle(Long webId, Long chnlId, Long adminId,Long inputAdminId, Long contentCtgId, boolean disabled,boolean topTime, int topLevel, int status, String title, int order,int pageNo, int pageSize)3、自定义标签(实例演示说明标签用法)自定义标签时候会用到 Macro,Macro 又叫宏,宏是在模板中使用 m

12、acro 指令定义,宏是和某个变量关联的模板片断,以便在模板中通过用户定义指令使用该变量,下面是一个例子。下面以用自定义的标签cms.VoteList/ (本 中的代码cms.VoteList 显示了下图的整个页面)显示投票结果功能为例,该例显示结果如下图:“投票测试”和“投票测试 2”就是 VoteList 标签显示出来的,在本 html 中,只在 html 中用cms.VoteList/就可显示上图中所有内容,包括分页功能,不需要其他 html 标签来辅助显示,原本页面该用 htm 标签的地方都在 ftl 文件里面使用 html 标签处理过排版了。定义 freemarker 标签(该标签内

13、不含 html 标签,和后面的含 html 标签和前台显示关联密切的 ftl 文件相对比,可在 freemarker 自定义的标签中设置 ftl 文件中是否使用 html 标签)下面的代码位于 WebRoot/WEB_INF/ftl_lib/jeecms/auxiliary/voteList.ftl 内。WebRoot/WEB_INF/ftl_lib/jeecms/auxiliary/voteList.ft 为标签定义文件,WebRoot/WEB_INF/ftl_lib 下的多个 ftl 文件组成了整个系统的标签支持功能,auxiliary 为网站的辅助功能(网站发起的投票,留言等)文件包,s

14、rc 内有auxiliary 相应的 action 和相关 xml 配置文件,下面讲解会用到。在上面标签中,/WEB-INF/ftl_lib/jeecms/auxiliary/voteList.ftl$tplPath由以上配置文件可知,标签请求的数据来自 class=“auxiliary.votePartAct“ , 相关的 votePartAct 代码为:public String voteList() pagination = voteTopicMng.getPageForTag(getWebId(),firstResult,pageNo, count);return handleResu

15、lt(“VoteList“);数据即来自 pagination,到此处,标签已经获得了数据,下面是显示部分,标签将得到的数据显示在$tplPath 中配置的$tplPath即auxiliary 模块,该模块文件在/WEB-INF/user_base/jeecms_com_www/template)的 auxiliary 的 defalut 下以 sys_开头,以标签名字 VoteList 结尾的文件sys_VoteList.html 网页内。显示方式为/WEB-INF/ftl_lib/jeecms/auxiliary/voteList.ftl设置的/WEB-INF/ftl_lib/jeecms

16、/auxiliary/voteList.ftl 中的方式,voteList.ftl 文件内容(含 html 标签)如下:注释: 使用标签已经获得的 pagination 数据$vote.title注释:isPage 是声明使用分页功能。标签获得的 Pagination 中有已封装的分页相关参数,此处可直接使用。至此,标签 VoteList 的声明定义(/WEB-INF/ftl_lib/jeecms/action_auxiliary.ftl 文件中) 、标签使用 struts 的标签s.action 引用来自相应 action 的数据、标签得到的数据的显示方式的设置(/WEB-INF/ftl_l

17、ib/jeecms/auxiliary/voteList.ftl 文件定义)都已经完成。在系统页面中,就可以直接使用 VoteList 标签了。只要系统见到cms.VoteList/就可以找着 ftl_lib 中的相关 VoteList 标签定义,顺藤摸瓜,然后就可以得到数据,然后再在页面正常显示出页面数据(此例我们用到的是投票列表)了。三、在工作环境中构建 jeecms 项目源码包内有相关安装使用文档,参照使用就可以。下面是 MyEclipse 中创建jeecms 项目图文指南。1、搭建 Jeecms 的运行环境具体过程在此不做赘述,可以参考 Jeecms 官网上的教程 .准备好 Jeecms 程序包和源代码包,下载地址 http:/ jeecms 演示系统Tomcat 内已有可以运行的 jeecms 系统的话可以跳过本步骤,下载下来的文件包 jeecms-v2.0-beta.rar 为 Jeecms 的运行程序包, jeecms-2.0.0-beta-src.zip 为源码包。依照下载包内相关文档使用操作。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报