JEECMS开发文档
jeecms数据库设计
1、jc_acquisition CMS采集表2、jc_acquisition_history 采集历史记录表3、jc_acquisition_temp 采集进度临时表4、jc_advertising CMS广告表5、jc_advertising_attr CMS广告属性表6、jc_advertising_space CMS广告版位表7、jc_channel CMS栏目表8、jc_channel_attr CMS栏目扩展属性表9、jc_channel_ext CMS栏目内容表10、jc_channel_txt CMS栏目文本表11、jc_channel_user CMS栏目用户关联表12、jc_chnl_group_contri CMS栏目投稿会员组关联表13、jc_chnl_group_view CMS栏目浏览会员组关联表14、jc_comment CMS评论表15、jc_comment_ext CMS评论扩展表16、jc_config CMS配置表17、jc_config_attr CMS配置属性表18、jc_content CMS内容表19、jc_content_attachment CMS内容附件表20、jc_content_attr CMS内容扩展属性表21、jc_content_channel CMS内容栏目关联表22、jc_content_check CMS内容审核信息表23、jc_content_count CMS内容计数表24、jc_content_ext CMS内容扩展表25、jc_content_group_view CMS内容浏览会员组关联表26、jc_content_picture CMS内容图片表27、jc_content_tag CMS内容TAG表28、jc_content_topic CMS专题内容关联表29、jc_content_txt CMS内容文本表30、jc_content_type CMS内容类型表31、jc_contenttag CMS内容标签关联表32、jc_friendlink CMS友情链接33、jc_friendlink_ctg CMS友情链接类别34、jc_group CMS会员组表35、jc_guestbook CMS留言。
jeesite 说明文档-3.内置组件的应用
第3章内置组件的应用作者:ThinkGem更新日期:2014-01-05 1.常用组件1.1.布局组件布局文件配置:/ jeesite/src/main/webapp/WEB-INF/decorators.xml默认布局文件:/ jeesite/src/main/webapp/WEB-INF/views/layouts/default.jsp非公共,自己建立的布局文件:/ jeesite/src/main/webapp/WEB-INF/views/模块路径/layouts/布局文件.jsp 使用布局文件:JSP的head里添加:<meta name="decorator" content="default"/>1.2.用户工具UserUtils.java fns.tld应用场景:在java文件或jsp页面上,获取当前用户相关信息1.获取当前用户:1)UserUtils.getUser();2)entity.currentUser()3)${fns:getUser()}2.获取当前用户部门:1)UserUtils.getOfficeList()2)${fns:getOfficeList()}3.获取当前用户区域:1)UserUtils.getAreaList()2)${fns:getAreaList()}4.获取当前用户菜单:1)UserUtils.getMenuList()2)${fns:getMenuList()}5.获取当前用户缓存:1)UserUtils.getCache(key);2)${fns:getCache(cacheName, defaultValue)}6.设置当前用户缓存:1)UserUtils.putCache(key);1.3.全局缓存CacheUtils.java应用场景:系统字典1.设置应用程序缓存:CacheUtils.put(key);2.获取应用程序缓存:CacheUtils.get(key);1.4.字典工具DictUtils.java应用场景:系统全局固定的字典数据,java或jsp中获取字典相关数据。
JEECMS标签使用
以下部分标签仅供JEECMS v1.x系列版本参考使用标签是JEE CMS中的重要概念,上一讲中,我们介绍了模板,并且说模板就像试卷,不同的考生填入不同的内容,就形成了不同的页面。
这一点在模板中是怎么实现的呢?简单起见,我们先考虑一下内容页模板,下面是一个简单的内容页模板:<html><head><title>${新闻标题}</title></head><body><h1>${新闻标题}</h1>${新闻内容}</body></html>这是不是有点像考试卷呢?在${}中就是考生要填入的内容,在JEE CMS中这部分内容会根据您录入的新闻,自动填入。
下面是一个真正的模板:<html><head><title>${arti.titleContent}</title></head><body><h1>${arti.titleContent}</h1>${arti.content}</body></html>是不是很简单呢?是的,使用JEE CMS建站,一切都是那么简单。
现在来看看栏目页模板,栏目页是一个栏目的封面,其中最基本的一个需求就是,能够显示这个栏目的新闻列表;否则浏览者无法看到这个栏目的实际内容。
看一个最简单的栏目页:<html><head><title>${栏目名称}</title></head><body><ul><li><a href="#">超强台风蔷薇逼近台湾</a></li><li><a href="#">神七将进行卫星数据中继试验</a></li><li><a href="#">美国国会解除近海石油开采禁令</a></li></ul></html>下面是实现这个效果的模板:<html><head><title>${}</title></head><body>[@u.ArtiList count='3'/]</body></html>其中[@u.ArtiList count='3'/]是我们看到的第二种标签,这种标签具有强大的能力,可以传递参数,count='3'是指读取本栏目最新的三条新闻。
jeecms二次开发
jeecms二次开发目录1. jeecms二次开发 (2)1.1 jeecms二次开发简要说明文档之概述篇 (2)1.2 jeecms二次开发简要说明文档之开发篇 (2)1.3 jeecms部署到linux上保存文章出错 (6)1.4 jeecms二次开发总结 (6)1. jeecms二次开发1.1 jeecms二次开发简要说明文档之概述篇在学校时就知道jeecms,那时也仅仅是在本地架上java环境安装玩玩,没有进行仔细的研究。
工作后才开始仔细的研究jeecms的源代码,作为国内为数不多的开源产品,其源代码有很多的可圈可点之处,但总觉得其开源的力度远远不够,在我的理解下不算是真正的开源,其二次开发的说明文档太少,官方也仅仅是给出标签的使用说明。
首先要说明的是本文仅仅讲的是jeecms-2.3.2-final版下的二次开发,jeecms最新版是jeecms v3.0 beta版,听说进行了重构,目前放出的是安装版,很希望jeecms官方赶快放出源代码,好再次研究研究。
下面曹海峰将从四个方面讲述jeecms的二次开发。
1、文件结构主要讲述css样式文件、图片、js、模板、jeecms标签等的放置路径。
2、模板模板的路径、命名规则等。
3、标签的使用官方标签,以及二次开发时如果自定义标签。
4、开发流程进行二次开发时整个流程的一个简要介绍。
1.2 jeecms二次开发简要说明文档之开发篇前段时间曹海峰介绍了jeecms的二次开发,但没有具体讲怎么对jeecms进行二次开发,今天补上。
整理的很凌乱,但对于jeecms的二次开发肯定没什么问题了。
一、文件结构网站css样式,图片,js的放置路径:WebRoot/res_base/Html页面如何引用:${root}就是WebRoot/res_base/的路径实例:1${root}/fgw/article/css/common.css前台模板放置路径:WebRoot/WEB-INF/user_base/template,文件夹是对应的模块名称,一定要和每个Constants.java下的常量名相同,否则会说找不到页面。
jeecms模板标签说明
JEECMS 模板标签说明目录第 1 章INCLUDE标签 ................................................................................... 错误!未定义书签。
第1.1节功能简介 (3)第1.2节标记说明 (4)第 2 章ARTILIST标签 (4)第2.1节功能简介 (4)第2.2节标记说明 (4)第 3 章POSITION标签 (7)第3.1节功能简介 (7)第3.2节标记说明 (8)第 4 章CHNLLIST标签 (8)第4.1节功能简介 (8)第4.2节标记说明 (8)第 5 章内容页常用标签 (10)第5.1节标记说明 (10)第 1 章模板规划第1.1节资源文件资源文件就是网页中用到的图片、CSS、JS等元素,在CMS系统中所有的资源文件在网站的根目录中的/res_base/所属网站定义资源目录/TEMPLEATE/WEB/res_base/所属网站定义资源目录/TEMPLEATE/WAP解释:网站定义资源在CMS系统中可以同时管理多个网站,也就是多个网站可以同时使用一套CMS系统,但是每一个网站都已属于自己独立的资源文件及模板文件目录。
定义了页面显示的主体框架,它的位置位于网站根目录下的/WEB_INF/user_base/所属网站模板目录;模板规则:以index前缀命名的为首页模板以channel前缀命名的为栏目模板以content前缀命名的为内容模板以alone前缀命名的为栏目单页模板第1.3节使用方式1.使用dw建立站点2.将网页中用到的资源文件分类分别放置到网站相关资源目录中3.将模板文件放置按照命名规则分别放置到网站相关模板目录中。
4.将头部、底部等等具有通用元素的模板文件放置到模板目录中的include目录中5.将模板文件中所有资源引用改为绝对路径链接至资源目录中6.在栏目管理中将模板文件与栏目进行关联设置7.在模板文件中需要提取数据的位置放置相应的标签第 2 章Include标签第2.1节功能简介过网站设计经验的朋友可能都知道,我们可以将页面中经常要引用的公共部分(比如页头和页脚)独立开来,单独存放在一个页面中。
jeecmd二次开发文档
1.在myeclipse中新建一个项目jeecms,将服务器中jeecms项目下web-inf文件夹下内容拷到新建项目中2.解压缩jeecms-3.0.2-final-src,在src文件夹下会看到有三个压缩文件,如果只想进行普通的二次开发,可以只导入cms这个源码,删除jeecms-cms-identity-3.0.2-final.jar即可,如果想进行深入的二次开发,需要导入common和core源码,另导入common-lib下的jar包,删除jeecms-cms- ide ntity-3.0.2-final.jar,jeecms-common-3.0.2-final.jar ,jeecms-core- identity-3.0.2-final.jar 这三个jar包,切记:务必进行build path3.修改jdbc链接,自己导入数据库。
4.把服务器下install\config下的web.xml复制出来覆盖掉新建项目WEB-INF下的web.xml5.classes下有四个文件,手动烤到myeclipse项目src根目录下中6.将服务器上jeecms项目删掉,发布新建的jeecms项目。
首页的加载过程:在浏览器中输入http://localhost:8080/jeecms,回车首先进入配置文件web.xml,<context-param><param-name>contextConfigLocation</param-name><!----><param-value>/WEB-INF/config/application-context.xml/WEB-INF/config/cache-context.xml/WEB-INF/config/captcha-context.xml/WEB-INF/config/jeecore-context.xml/WEB-INF/config/jeecms-context.xml</param-value></context-param>应用范围内的初始化参数其中jeecms-context.xml是对标签的初始化<welcom e-file-list><welcom e-file>index.html</welcome-file><welcom e-file>index.shtml</welcome-file><welcom e-file>index.jhtml</welcome-file></welcome-file-list>通过以上标签找到应该加载哪一个页面<servlet><servlet-name>JeeCmsFront</servlet-nam e><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/config/jeecms-servlet-front.xml</param-value></init-param><load-on-startup>2</load-on-startup></servlet><servlet-mapping><servlet-name>JeeCmsFront</servlet-nam e><url-pattern>*.jhtml</url-pattern></servlet-mapping><servlet-mapping><servlet-name>JeeCmsFront</servlet-nam e><url-pattern>*.jspx</url-pattern></servlet-mapping><servlet-mapping><servlet-name>JeeCmsFront</servlet-nam e><url-pattern>*.jsp</url-pattern></servlet-mapping><servlet-mapping><servlet-name>JeeCmsFront</servlet-nam e><url-pattern>*.htm</url-pattern></servlet-mapping>通过servlet配置,可以找到jeecms-servlet-front.xml,在此配置文件的最后有<import resource="jeecms-servlet-front-action.xml"/>代码找到jeecms-servlet-front-action.xml,在此配置文件中有<bean id="dynamicAct" class="com.jeecms.cms.action.front.DynamicPageAct"/>可以找到类DynamicPageAct,此类是首页模板。
jeesite 说明文档-2.文件结构与配置
第2章文件结构与配置作者:ThinkGem更新日期:2014-4-8 1.文件结构1.1.源码目录src/main/java1.2.资源目录src/main/resource1.3.发布目录src/main/webapp1.4.执行目录dbbin2.jeesite.properties2.1.数据源配置# 数据库驱动,连接设置。
jdbc.driver=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orclername=jeesitejdbc.password=123456# 连接池设置,初始大小,最小,最大连接数。
jdbc.pool.init=1jdbc.pool.minIdle=3jdbc.pool.maxActive=20# 测试连接sql语句jdbc.testSql=SELECT'x'FROM DUAL2.2.系统配置# 配置产品名称,版权日期和版本号productName=JeeSite AdmincopyrightYear=2014version=V1.1.1# 是否是演示模式,如果是,则如下模块,无法进行保存操作# sys: area/office/user/role/menu/dict, cms: site/category demoMode=false# 管理端跟路径adminPath=/a# 前端跟路径frontPath=/f# 信息发布时的URL后缀,可配置HTML后缀的页面进行缓存urlSuffix=.html# 分页大小,默认每页15条page.pageSize=15# 硕正组件是否使用Cache(一般开发阶段,关闭Cache)eCache=false# 设置通知间隔访问时间,单位毫秒.oa.notify.remind.interval=600002.3.框架参数配置# 设置SESSION超时时间,web.xml里设置无效,单位毫秒. session.sessionTimeout=120000session.sessionTimeoutClean=120000# 缓存设置ehcache.configFile=cache/ehcache-local.xml#ehcache.configFile=cache/ehcache-rmi.xml# 首页地址web.view.index=/a# 视图文件配置,前缀和后缀web.view.prefix=/WEB-INF/views/web.view.suffix=.jsp# 最大上传字节数 10M=10*1024*1024(B)=10485760web.maxUploadSize=10485760# 设置日志拦截器,拦击的URI,@RequestMapping 值web.logInterceptExcludeUri=/,/login,/sys/menu/tree,/sys/menu/treeData,/oa/oaNotify/self/countweb.logInterceptIncludeRequestMapping=save,delete,import,updateSort# 工作流配置activiti.isSynActivitiIndetity=falseactiviti.export.diagram.path=c:/activiti_diagram#activiti font (windows font: \u5B8B\u4F53 linux font: simsun)activiti.diagram.activityFontName=\u5B8B\u4F53belFontName=\u5B8B\u4F53activiti.form.server.url=http://127.0.0.1:8075/xxxx3.pom.xml3.1.修改项目名称artifactId:项目名称version:版本修改完成后运行eclipse.bat重新生成项目文件。
软件开发文档范例-20211207002350
软件开发文档范例20211207002350项目概述本项目旨在开发一款适用于企业内部使用的管理软件,旨在提高企业内部工作效率,优化工作流程。
该软件将包含员工管理、项目管理、任务分配、进度跟踪、报告等功能,以支持企业的日常运营和项目管理。
目标用户本软件的主要目标用户为企业管理层、项目经理、团队负责人以及普通员工。
企业管理层可以通过该软件实时了解企业运营情况,项目经理和团队负责人可以方便地分配任务、跟踪项目进度,普通员工则可以通过该软件接收任务、汇报工作进度。
功能需求1. 员工管理:包括员工信息录入、查询、修改、删除等功能,以及员工考勤、薪资、绩效等管理功能。
2. 项目管理:包括项目创建、项目成员分配、项目进度跟踪、项目报告等功能。
3. 任务分配:包括任务创建、任务分配、任务进度跟踪、任务报告等功能。
4. 进度跟踪:包括项目进度、任务进度、员工工作进度等跟踪功能。
5. 报告:包括项目报告、任务报告、员工工作报告等功能。
技术选型1. 开发语言:Python2. 数据库:MySQL3. 前端框架:React4. 后端框架:Django5. 版本控制:Git开发计划1. 需求分析:2021年12月7日 2021年12月14日2. 设计阶段:2021年12月15日 2021年12月28日3. 开发阶段:2021年12月29日 2022年2月28日4. 测试阶段:2022年3月1日 2022年3月15日5. 上线部署:2022年3月16日风险评估1. 技术风险:可能会遇到技术难题,如数据库优化、性能优化等。
2. 时间风险:可能会因为技术难题或其他原因导致开发进度延误。
3. 人员风险:团队成员可能会因为个人原因离职,导致项目进度受到影响。
解决方案1. 对于技术风险,可以增加技术预研时间,提前解决可能遇到的技术难题。
2. 对于时间风险,可以制定详细的开发计划,并严格按照计划执行。
3. 对于人员风险,可以提前做好人员储备,以应对可能的人员变动。
Jeecms二次开发相关文档(入门)
Jeecms二次开发相关文档(入门)目录:(本文档中内容整理自网络并结合自己实际开发经验总结而来,文档后有相关内容引用出处,本处声明免责,不承担任何纠纷,文档供大家交流使用)Jeecms二次开发相关文档(入门) (1)一、jeecms内部请求转发运行原理 (2)二、jeecms使用freemarker标签示例及原理 (4)1、标签使用示例 (4)2、标签原理 (4)3、自定义标签(实例演示说明标签用法) (7)三、在MyEclipse工作环境中构建jeecms项目 (10)1、搭建Jeecms的运行环境 (10)2、安装jeecms演示系统 (10)3、导入Jeecms项目 (10)一、jeecms内部请求转发运行原理Jeecms中有众多的配置文件,单xml配置文件就相当繁多,各个文件间的关联查找使用关系也不像简单的struts配置文件一样。
如首页的显示过程如下。
系统架构是ssh+freemarker模板构成的,所以先要熟悉freemarker模板技术。
先看web.xml文件,其中欢迎页面有:<welcome-file-list><welcome-file>index.jspa</welcome-file><welcome-file>index.do</welcome-file><welcome-file>index.html</welcome-file></welcome-file-list>接着再看jeecms/core/struts-core-front.xml配置文件,发现有个action的通用配置:<action name="**" class="core.dynamicSystemAct"><result type="chain"><param name="namespace">${namespace}</param><param name="actionName">${actionName}</param></result><interceptor-ref name="exception"/><interceptor-ref name="domain"/><interceptor-ref name="cookieIdentity"/><interceptor-ref name="url"/></action>struts收到请求以后,将请求转发到core.dynamicSystemAct这个对象,注意这个这个class并不是真正的类,是类的别名,由spring通过标注@Controller进行绑定,web应用上下文可以通过classpath自动扫描到这个类。
jeecms网站开发技术文档
xxxxx网技术说明文档一、系统架构特点1)底层采用高性能的MVC技术架构:系统采用最新的技术架构(SpringMVC3+Spring3+Hibernate3+Freemarker),AJAX使用jquery和json实现。
基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点。
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。
Spring 框架提供了构建Web 应用程序的全功能MVC 模块。
使用Spring 可插入的MVC 架构,可以选择是使用内置的Spring Web 框架还可以是Struts 这样的Web 框架。
通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI。
Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用JSP 技术。
Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
SpringMVC3特性:• 零配置,不需要外部配置文件,这是SpringMVC3最引人注目的特性。
• 易于同其它View框架(Tiles等)无缝集成•采用IOC便于测试• 强大、灵活的标签,用户自定义显示内容和显示方式。
• 验证和类型转换机制非常容易使用和本地化。
• 良好的本地化支持,甚至在JSP 页面之间跳转时仍然生效。
• 后台人性化,提供最便利、合理的使用方式。
• 在设计上自身预先做了搜索引擎优化,增强对搜索引擎的友好性。
•完全生成全站静态页面,可自定义路径结构,全面提高页面访问速度• 内置支持同一个form 触发多个事件。
• 具备透明的文件上传能力。
• 支持增量开发。
• 相当灵活,易于扩展。
Spring特性:•方便解耦,简化开发。
Spring的注入式加载,将对象之间的依赖关系交给Spring全全处理。
JEECMS建站
2
Tomcat在一个可以运行JSP程序的服务器软件,它自带一个Web服务器,默认的端口是8080。由于Tomcat是以Java编写,所以在安装Tomcat前需要先安装JDK,并要设置JAVA_HOME环境变量。
从apache网站上下载相应版本的Tomcat。在Windows下,Tomcat的采用下面两种形式发布:Zip压缩包和EXE安装包。推荐使用Zip格式安装。
之后,可以在浏览器的地址栏中输入:http://你的IP1:8080/即可访问。
conf文件夹中server.xml是Tomcat的配置文件。
webapps文件夹是Tomcat发布web应用的地方。在这件文件夹中的一个“ROOT”文件,它是Tomcat启动的根Web应用的本地目录,也就是能过http://你的IP:8080/访问到的文件所在的文件夹。
1
1.1
网站(Website)是指在因特网上,根据一定的规则,使用HTML等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,网民可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。访问者可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务。
在因特网的早期,网站还只能保存单纯的文本。但经过几年的发展,当万维网出现之后,图像、声音、动画、视频,甚至3D技术开始在因特网上流行起来。网站也慢慢地发展成现在图文并茂的形式,并且通过动态网页技术的运用,用户也可以与其他用户或者网站管理者进行交流。
人们很快就想到了解决办法,使用asp、php或者jsp等技术制作动态网站。动态网站管理和维护都相当方便,能够制作一个动态网站,曾经是很多人的梦想。然而大部分人都没有时间和精力去学习复杂的编程技术,制作动态网站似乎是专业的计算机程序人员的专利。
JEECMS系统标签使用概述
✓出处:站长百科JEECMS 系统标签使用概述✓ 出处:站长百科✓ 原文地址:/wiki/JEECMS 系统标签使用概述✓本电子书整理自站长百科JEECMS 系统标签使用概述词条,查看内容请访问网站。
调用"JEECMS 标签"的三种代码样式如下:• ${标签名称}• [@cms.标签名称 属性='值'/]•[@cms.标签名称 属性='值'; 标签别名] 自定义样式模板 [/@cms.标签名称]例如:• ${}标签用于调用网站名称•[@cms.ArtiList chnlId= count='10' sysContent='1-1' /]标签用于调用10篇文章的列表•[@cms.ChnlList id= inner='1';c]┆<ahref="${c.url}">${}</a>[/@cms.ChnlList] 标签用于调用栏目列表,可用于网站导航条。
注意:abc 实例是与上面ABC 三种形式相对应的。
大家可以逐个测试,举一反三。
为了测试上述几类标签,我们可以新建一个空白的首页模板(新建的首页模板必须以index 做前缀,例如index_demo.html ),进入后台管理->模板管理->template->article->blue->default ,点击下图中③处的“创建模板”按钮,✓ 出处:站长百科按要求填写必要的模板内容后保存模板,此时点击功能树上面的“刷新目录”就可以看到新加的“index_demo.html”模板了,如下所示:✓ 出处:站长百科然后点击“文章栏目->首页->修改”,将新建的首页模板(index_demo.html )设为首页栏目模板,提交保存回到站点首页,刷新,您将看到我们刚才建立的测试首页,你就可以在上面测试各种标签的用法了(需要恢复原来的默认首页很简单,把首页栏目模板重新设置为默认模板或index.html 就行了)。
JEECMS标签-使用说明pdf文档
第一部分使用说明1.标签使用概述作者:发布日期:2009-07-0110:32:14调用"JEECMS标签"的三种代码样式如下:A、${标签名称}B、[@cms.标签名称属性='值'/]C、[@cms.标签名称属性='值';标签别名]自定义样式模板[/@cms.标签名称]例如:a、${}标签用于调用网站名称b、[@cms.ArtiList chnlId=''count='10'sysContent='1-1'/]标签用于调用10篇文章的列表c、[@cms.ChnlList id=''inner='1';c]┆<a href="${c.url}">${}</a>[/@cms.ChnlList]标签用于调用栏目列表,可用于网站导航条。
注意:abc实例是与上面ABC三种形式相对应的。
大家可以逐个测试,举一反三。
为了测试上述几类标签,我们可以新建一个空白的首页模板(新建的首页模板必须以index做前缀,例如index_demo.html),进入后台管理->模板管理->template->article->blue->default,点击下图中③处的“创建模板”按钮,按要求填写必要的模板内容后保存模板,此时点击功能树上面的“刷新目录”就可以看到新加的“index_demo.html”模板了,如下所示:——>然后点击“文章栏目->首页->修改”,将新建的首页模板(index_demo.html)设为首页栏目模板,提交保存——>回到站点首页,刷新,您将看到我们刚才建立的测试首页,你就可以在上面测试各种标签的用法了(需要恢复原来的默认首页很简单,把首页栏目模板重新设置为默认模板或index.html就行了)。
jeecms v5自定义模型
玩转jeecms v5自定义模型JEECMS自带的内容模型一般都是默认的几十个常用字段,不过不同的用户对内容模型有不同的要求,所以为了满足不同用户的需求,CMS一般都支持模型的自定义,让用户可以自由设计各种模型。
jeecms自带9个模型,可以对所有模型进行字段编辑、删除等操作。
下面新加一个自定义房租模型为例,添加栏目模型和内容模型以及前台调用的教程。
系统默认模型添加模型:点击右上角的添加按钮可以出现如下的添加模型参数的界面:下面主要说一下栏目模型和内容模型的自定义字段栏目模型:这个些都是系统的默认字段,如果要保存系统默认字段就需要点击左下角的保存系统默认字段。
添加栏目的自定义字段:添加页面:如上是自定义字段和系统默认字段,下面我们看看栏目下添加页面:前台页面调取栏目:1.1首页导航首页导航循环从数据库中获取栏目,首页栏目页内容页导航代码是一样的。
效果图如下:1.1.1一级导航<ul><li>[@cms_channel_list]<a href="${base}/">房租</a>[#list tag_list as c]<A href="${c.url}">${}</A>[/#list][/@cms_channel_list]</li></ul>${base}/ 回到首页标签${c.url} 栏目链接${} 栏目名称1.1.2栏目页系统默认字段调取<div id="wrapper" style="margin-bottom:10px;"><div class="product-left fl"><div class="ppzq"><h1 class="prd-leftit">房屋类别</h1><div class="ppzq_con1"><ul>[@cms_channel_list parentId=channel.nodeList[0].id][#list tag_list as sub]<li><h3><div class="type-tit"><a href="${sub.url}">${}</a></div></h3></li>[/#list][/@cms_channel_list]</ul></div></div><div class="ppzq mt10">1.1.3栏目页字段调取<div class="ppzq mt10"><h1 class="prd-leftit">房屋推荐</h1><div class="hotcon">[@cms_content_list count='5' typeId='2' channelId='48' titLen='11' append='...' orderBy='4' channelOption='1' recommend='1'][#list tag_list as a]<dl [#if a_has_next!]class="rank" [#else] class="rank last" [/#if]><dd class="ico_red"><img src="/${res}/img/product/ico_no0${a_index+1}.gif" width="17" height="14" /></dd><dd class="rankPic"><a href="${a.url}" title="${a.title}" target="_blank"><img src="${a.typeImg!site.defImg}" width="80" height="80" /></a></dd><dd class="rankPrice">¥${a.attr. money!}元</dd><dd class="rankAdress">所在位置:${a.attr. adrres!} </dd><dd class="rankAdress">发布日期:${a.attr.time!}</dd><dd class="rankTitle"><a href="${a.url}" target="_blank">[@text_cut s=a.title len=titLen append=append /]</a></dd></dl>[/#list][/@cms_content_list]</div></div></div>标题图调用方法<img src="${a.titleImg!site.defImg}" alt="${a.title}" />加个判断[#if a.id==19]注:如上蓝色的标签表示的是系统默认字段的调取,紫色的标签表示上传的房屋标题图的调取,红色标签部分表示系统自定义字段调取。
jeesite 说明文档-5.硕正WEB组件的应用
第5章硕正WEB组件的应用作者:ThinkGem更新日期:2014-01-03 1.简介硕正描述格式采用XML,数据格式采用JSON。
原因如下:描述采用XML 可表现比较复杂的结构,易于官方文档查找好对应;数据采用JSON格式原因有三点,一是JSON官方有很好的支持;二是JSON格式比较简单并解析速度快,三是JSON相比XML要小,节省流量。
后台采用注解方式配置,自动返回描述XML字符串和数据JSON字符串。
●描述文件XML注解配置请参考本文第2章;●数据格式JSON注解配置请参考Jackson注解,官方网站2.树列表注解实例代码见TestController.java,testList.jsp文件,演示页面如下:2.1.调用实例@SupTreeList(properties=@SupProperties(headerFontIndex="2", curSelBgColor="#ccddcc", displayMask="backColor=if(name='管理员', '#ff0000', transparent)",expresses={@SupExpress(text="total=round(price*num, 2)"),@SupExpress(text="price=round(total/num, 4)")}),fonts={@SupFont(faceName="宋体", weight="400"),@SupFont(faceName="楷体", weight="700", height="-12"),@SupFont(faceName="楷体", weight="400", height="-12")}, groups={@SupGroup(id="date", name="日期", headerFontIndex="1", sort=50),@SupGroup(id="date2", name="日期2", headerFontIndex="2", sort=60, parentId="date"),@SupGroup(id="date3", name="日期3", headerFontIndex="2", sort=70, parentId="date")})实体配置,参考类: Test.java2.2.@SupTreeList硕正总体注解硕正主要注解,只可以定义到类之上。
Jeecms开发学习笔记
Jeecms开发学习笔记青岛海尔软件有限公司@带吴钩目录1.文档说明 (2)2. 关键词 (2)2.1MVC (2)2.2实体 (2)2.3实现类 (3)3. 从Act到Mng到Dao (3)3.1Act (3)3.1.1什么是Act? (3)3.1.2Act实现从html到jspx (3)3.1.3从Act到Mng (6)3.2Mng和MngImpl (10)3.2.1什么是Mng和MngImpl? (10)3.2.2Mng (11)3.2.3从MngImpl到Dao (12)3.3Dao和DaoImpl (16)3.3.1什么是Dao和DaoImpl? (16)4. 实体类 (16)4.1为什么使用实体类? (16)4.2id的作用 (19)5配置文件 (20)5.1数据库配置文件 (20)5.2国际化 (23)1.文档说明本文档来源一个现实项目的学习,笔者须在Jeecms框架内实现前台提交简历,后台查看简历的过程。
而笔者毫无java web开发经验。
因此本文档适用于毫无java web开发经验人群,将以Jeecms的spring MVC + spring + hibernate框架为结构进行介绍。
建立一个实体,从数据的写入到查找为流程,进行一个详细的描述。
2.关键词2.1MVCMVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
MVC 被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
2.2实体实体类主要是作为数据管理和业务逻辑处理层面上存在的类别;它们主要在分析阶段区分。
实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。
jeecms教程
jeecms后台操作:首页:欢迎页面介绍了jeecms程序版本、上次登录的时间、已用内存、剩余内存、最大内存和访问量。
其中访问量按日、周、月累计pv、ip和独立访问量,这些在首页左边选项pv统计、独立ip统计、独立访问统计中都可以查询到今日、昨日、每日平均访问量、历史最高访问量计算出最高访问量,历史累计访问量计算总共访问量。
欢迎页面中同样有介绍系统属性:操作系统版本、系统类型、用户目录、临时目录、java运行环境、java虚拟机,这些都是从本机体获得。
首页个人资料中修改用户信息,主要作用是修改密码,其他都是可以随意填写的。
当然,有用户修改的前提的是有用户注册,在用户会员管理中,可以注册一个新的用户,这其中用户名、密码、确认密码、会员组是必填的,若是会员组不填,系统将采用默认会员组,这就与上传附件大小和用户权限有关系了。
在会员组管理中,我们设定了每日附件总尺寸和最大附件尺寸、浏览权限和投稿权限,不同的会员是不相同的,所以一定要区分开来。
另外,管理员(全站),管理员(本站)也是有区别的,这就不需要介绍了,就文字面的意思,全站是所有站点,本站是一个站点,管理员的添加与会员添加相差无几,不过是有等级、权限与审核的区别。
等级数字越大等级越高,是否受限管理员若是选是,则只能管理自己的数据否就是可以浏览其他人的信息,这里都是选择否,便于大家一起交流。
若是你说还有是否只读的区别,你也可以理解为这是权限的一种,旨在操作与不操作之差。
与角色之上,都是选择的,部门,管理员一般是不会选择部门的,这与管理的权限是无关的。
如果要添加一个这里不存在部门,可以到用户中选择部门管理添加。
首页内容统计,可以按年、月、周、日、发布者、栏目进行查询,其结果旨在数量及所占百分比,并没有具体内容。
评论统计和留言统计与内容统计是没有什么不同的,仅是在查询全部、已回复和未回复的区别。
人均浏览数次数统计是一个单独的计算,可以说是在application中计算今日、昨日、每日平均、历史最高、历史累计的访问量。
jeecms二次开发必备
jeecms⼆次开发必备JEECMS⼆次开发第1章JEECMS系统介绍 (3)1.1关于JEECMS (3)1.2JEECMS系统特点 (4)1.3技术架构 (4)1.3.1跨操作系统平台 (5)1.3.2跨数据库平台 (5)1.3.3跨应⽤服务器 (6)1.3.4兼容多种浏览器 (6)1.4JEECMS⼯程的包结构分析 (7)1.4.1⽂章模块 (7)1.4.2辅助模块 (7)1.4.3通⽤操作模块 (7)1.4.4核⼼功能模块 (8)1.4.5下载模块 (8)1.5页⾯、资源⽂件结构 (9)1.5.1站点内容、模板结构 (10)1.5.2站点资源⽂件结构 (10)第2章标签使⽤和模板的制作 (11)2.1模板规划 (11)2.1.1资源⽂件 (11)2.1.2模板⽂件 (11)2.1.3使⽤⽅式 (11)2.1.4标签调⽤样式 (11)2.2I NCLUDE标签 (13)2.2.1功能简介 (13)2.2.2标记说明 (13)2.2.3 明确标签的使⽤范围 (13)2.2.4调试标签了解其使⽤⽅法 (13)2.3A RTI L IST标签 (15)2.3.1功能简介 (15)2.3.2标记说明 (15)2.3.3 明确标签使⽤范围 (18)2.3.4 调试标签了解其使⽤⽅法 (18)2.4P OSITION标签 (20)2.4.1功能简介 (20)2.4.2标记说明 (20)2.5C HNL L IST标签 (21)2.5.1功能简介 (21)2.5.2标记说明 (21)2.5.3明确标签的使⽤范围 (21)2.5.4调试标签了解其使⽤⽅法 (22)2.6内容页常⽤标签 (23)2.6.1标记说明 (23)第1章JEECMS系统介绍1.1关于JEECMSJEECMS是JavaEE版⽹站管理系统(Java Enterprise Edition Content Manage System)的简称,是⼀款⾃主研发的基于J2EE平台的内容管理系统Java凭借其强⼤、稳定、安全、⾼效等多⽅⾯的优势,⼀直是企业级应⽤的⾸选。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.在myeclipse中新建一个项目jeecms,将服务器中jeecms项目下web-inf文件夹下内容拷到新建项目中2.解压缩jeecms-3.0.2-final-src,在src文件夹下会看到有三个压缩文件,如果只想进行普通的二次开发,可以只导入cms这个源码,删除j eecms-cms-identity-3.0.2-final.jar即可,如果想进行深入的二次开发,需要导入common和core源码,另导入common-lib下的jar包,删除jeecms-cms- identity-3.0.2-final.jar,jeecms-common-3.0.2-final.jar ,jeecms-core- identity-3.0.2-final.jar这三个jar包,切记:务必进行build path3.修改jdbc链接,自己导入数据库。
4.把服务器下install\config下的web.xml复制出来覆盖掉新建项目WEB-INF下的web.xml5.classes下有四个文件,手动烤到myeclipse项目src根目录下中6.将服务器上jeecms项目删掉,发布新建的jeecms项目。
首页的加载过程:在浏览器中输入http://localhost:8080/jeecms,回车首先进入配置文件web.xml,<context-param><param-name>contextConfigLocation</param-name><!----><param-value>/WEB-INF/config/application-context.xml/WEB-INF/config/cache-context.xml/WEB-INF/config/captcha-context.xml/WEB-INF/config/jeecore-context.xml/WEB-INF/config/jeecms-context.xml</param-value></context-param>应用范围内的初始化参数其中jeecms-context.xml是对标签的初始化<welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.shtml</welcome-file><welcome-file>index.jhtml</welcome-file></welcome-file-list>通过以上标签找到应该加载哪一个页面<servlet><servlet-name>JeeCmsFront</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/config/jeecms-servlet-front.xml</param-value></init-param><load-on-startup>2</load-on-startup></servlet><servlet-mapping><servlet-name>JeeCmsFront</servlet-name><url-pattern>*.jhtml</url-pattern></servlet-mapping><servlet-mapping><servlet-name>JeeCmsFront</servlet-name><url-pattern>*.jspx</url-pattern></servlet-mapping><servlet-mapping><servlet-name>JeeCmsFront</servlet-name><url-pattern>*.jsp</url-pattern></servlet-mapping><servlet-mapping><servlet-name>JeeCmsFront</servlet-name><url-pattern>*.htm</url-pattern></servlet-mapping>通过servlet配置,可以找到jeecms-servlet-front.xml,在此配置文件的最后有<import resource="jeecms-servlet-front-action.xml"/>代码找到jeecms-servlet-front-action.xml,在此配置文件中有<bean id="dynamicAct" class="com.jeecms.cms.action.front.DynamicPageAct"/>可以找到类DynamicPageAct,此类是首页模板。
在类DynamicPageAct中有public static final String TPL_INDEX = "tpl.index";找到WEB-INF\languages\jeecms_front下messages_zh_CN.properties配置文件,可以找到对应的首页面tpl.index=首页(工程中的首页.html文件)标签的配置流程,以cms_content_list为例首先,每一个标签的声明都是在jeecms-context.xml中进行的,<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance "xsi:schemaLocation="/schema/beans /schema/beans/sprin g-beans-3.0.xsd"default-lazy-init="true">……<bean id="cms_content_list" class="com.jeecms.cms.action.directive.ContentListDirective"/>(声明标签对应的类)<bean id="staticPageSvc" class="com.jeecms.cms.staticpage.StaticPageSvcImpl"><property name="freeMarkerConfigurer"><bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><property name="freemarkerVariables"><map>……<entry key="cms_content_list" value-ref="cms_content_list"/>……</map></property><property name="templateLoaderPath" value=""/>……</bean></property></bean></beans>此外,在配置文件jeecms-servlet-front.xml中,还有一段对标签的配置<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"><property name="freemarkerVariables"><map>……<entry key="cms_content_list" value-ref="cms_content_list"/>……</map></property>……</bean></bean>类ContentListDirective继承自AbstractContentDirective,最主要的是execute方法public class ContentListDirective extends AbstractContentDirective {/*** 模板名称*/public static final String TPL_NAME = "content_list";/*** 输入参数,文章ID。
允许多个文章ID,用","分开。
排斥其他所有筛选参数。
*/public static final String PARAM_IDS = "ids";@SuppressWarnings("unchecked")public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException {//获取站点CmsSite site = FrontUtils.getSite(env);//获取内容列表,可以通过此处进行更改,获取自己数据库中的数据List<Content> list = getList(params, env);Map<String, TemplateModel> paramWrap = new HashMap<String, TemplateModel>( params);//OUT_LIST值为tag_list,在类DirectiveUtils中声明,将内容列表放入其中paramWrap.put(OUT_LIST, DEFAULT_WRAPPER.wrap(list));//将params的值复制到variable中Map<String, TemplateModel> origMap = DirectiveUtils.addParamsToVariable(env, paramWrap);//获取的是参数PARAM_TPL,是否调用模板以及调用的模板类型InvokeType type = DirectiveUtils.getInvokeType(params);//获取传入参数,列表样式,根据不同的参数获取不同的样式列表String listStyle = DirectiveUtils.getString(PARAM_STYLE_LIST, params);if (InvokeType.sysDefined == type) {if (StringUtils.isBlank(listStyle)) {throw new ParamsRequiredException(PARAM_STYLE_LIST);}//列表样式模板env.include(TPL_STYLE_LIST + listStyle + TPL_SUFFIX, UTF8, true);} else if (erDefined == type) {if (StringUtils.isBlank(listStyle)) {throw new ParamsRequiredException(PARAM_STYLE_LIST);}//列表样式模板路径 WEB-INF\t\cms_sys_defined\style_list\style_2-1.htmlFrontUtils.includeTpl(TPL_STYLE_LIST, site, env);} else if (InvokeType.custom == type) {//这个模板就是自己声明的,即content_list.html,如果采用自定义模板的话,页面中可以只写上标签,并添加上标签内需要的几个参数,不需要写标签体的内容,会去自动调用模板中的标签体。