库内新增对象Products 的流程说明:

第一步:
com.jeecms.cms.entity.assist.base下建立模型基础类,BaseCmsProducts.java
com.jeecms.cms.entity.assist 下建立对象类继承继承模型,CmsProducts.java
com.jeecms.cms.entity.assist.hbm
配置hibernate对象映射,CmsProducts.hbm.xml
src .ehcache-hibernate.xml 缓存对象配置:
<cache name="com.jeecms.cms.entity.assist.CmsProducts"
maxElementsInMemory="" eternal="false" timeToIdleSeconds="" timeToLiveSeconds="" overflowToDisk="true"/> 第二步:
com.jeecms.cms.dao.assist与数据库交互的持久层DAO接口和实现,ProductsDao.java , ProductsDaoImpl.java ;
配置WebRoot/WEB-INF/config/jeecms-context.xml文件:
<bean id="cmsproductsDao"
class="com.jeecms.cms.dao.assist.impl.CmsProductsDaoImpl"/> 第三步:
com.jeecms.cms.manager.assist
业务层接口和实现,ProductsMng.java , ProductsMngImpl.java
配置WebRoot/WEB-INF/config/jeecms-context.xml文件:
<bean id="cmsProductsMng"
class="com.jeecms.cms.manager.assist.impl.CmsProductsMngImpl"/> 第四步(Action):
com.jeecms.cms.action.front
写Action与前台对接,ProductsAct.java
XML配置:
jeecms-servlet-front-action.xml
<bean id="productsAct"
class="com.jeecms.cms.action.front.ProductsAct"/> com.jeecms.cms.action.admin.assist (对象添加、删除、修改)
写Action与后台对接, CmsProductsAct.java
XML配置:
jeecms-servlet-admin-action.xml
<bean id="cmsProductsAct"
class="com.jeecms.cms.action.admin.assist.CmsProductsAct"/> 第五步(Directive):
com.jeecms.cms.action.directive (设置并返回标签对象[@cms_products_page])
配置WebRoot/WEB-INF/config/jeecms-context.xml文件:
<bean id="cms_products_page"
class="com.jeecms.cms.action.directive.CmsProductsDirective"/> <bean id="staticPageSvc" class="com.jeecms.cms.staticpage.StaticPageSvcImpl">
<property name="tplMessageSource" ref="tplMessageSource"/>
<property name="freeMarkerConfigurer">
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="freemarkerVariables">
<map>
此处添加标签的配置信息:
<entry key="cms_products_page" value-ref="cms_products_page"/> 配置WebRoot/WEB-INF/config/ Jeecms-servlet-front.xml文件:
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="freemarkerVariables">
<map>
此处添加标签的配置信息:
<entry key="cms_products_page" value-ref="cms_products_page" /> 特别注意点:
对象模板位置控制:
com.jeecms.cms.action.front.ProductsAct.java
//方案路径site.getSolutionPath()=”/WEB-INF/t/cms/www/default”
//TPLDIR_SPECIAL="special" 模板位置
// PRODUCTS_INDEX= "tpl.productsIndex"; 模板名称
return FrontUtils.getTplPath(request, site.getSolutionPath(),
TPLDIR_SPECIAL, PRODUCTS_INDEX); PRODUCTS_INDEX对象需要在国际化处进行设置:
WebRoot/WEB-INF/languages/jeecms_tpl/messages_zh_CN.properties :
tpl.productsIndex=products_index 国际化文件说明:
WEB-INF/languages/fck 友情提示 WEB-INF/languages/jeecms_admin (后台)功能页面,如:首页》内容统计 statistic.function.content=内容统计 WEB-INF/languages/jeecms_front (前台)友情提示,如:验证码错误。 WEB-INF/languages/jeecms_tpl (前台)功能页面,如:投票内容页, tpl.tagDetail=voteIndex WEB-INF/languages/jeecore_admin 功能按钮、提示信息,如:global.submit=提交,global.confirm.logout=您确定退出吗?

新增对象Products 的流程说明的更多相关文章

  1. jeecms v9库内新增对象的流程及其他技巧

    cms 开发 ———— 库内新增对象 Products 的流程说明及其他技巧 第一步:Entity com.jeecms.cms.entity.assist.base下建立模型基础类BaseCmsPr ...

  2. ES6新增对象方法的访问描述符:get(只读)、set(只写)

    Es6新增对象方法的访问描述符:get(只读).set(只写),可以直接使用,一般用于数据监听,用途类似于vue.$watch. var obj = { a:1, get bar() { return ...

  3. mybatis新增对象自动生成uuid方案

    mybatis新增对象时, 使用拦截器自动生成uuid方案有了它不再去xml中手动添加selectKey了, 生成id方案实现类自行实现, 实现IdGenerator接口便可, 主要代码由公司同事编写 ...

  4. spring中容器和对象的创建流程

    容器和对象的创建流程 1.先创建容器 2.加载配置文件,封装成BeanDefinition 3.调用执行BeanFactoryPostProcessor 准备工作: 准备BeanPostProcess ...

  5. objc_msgSend消息传递学习笔记 – 对象方法消息传递流程

    在Effective Objective-C 2.0 – 52 Specific Ways to Improve Your iOS and OS X Programs一书中,tip 11主要讲述了Ob ...

  6. javascript EcmaScript5 新增对象之Object.freeze

    我们都知道在js里对象是很容易改变的 var obj1 ={ a:'111' } obj1.a = '222'; console.log( obj.a ) //output 222 对象的属性发生了变 ...

  7. Vue动态新增对象属性

    Vue.set( target, key, value ) 参数: {Object | Array} target {string | number} key {any} value 返回值:设置的值 ...

  8. vue双向数据绑定对于数组和新增对象属性不能监听的解决办法

    出现数组不能按照索引进行跟新的原因是处于性能考虑的,但是整体数组的增加删除是可以监听到的:对于对象新增属性不能监听是因为没有在生成vue实例时候放进watcher收集依赖. 首先我们先来了解vue数据 ...

  9. ECMAScript5新增对象语法糖getter和setter

    在新的ECMAScript5中新添加了两个语法糖,这两个语法糖是这样的. var obj = (function(){ var num = 10; return { get n(){ return n ...

随机推荐

  1. ThinkPHP 的缓存大概多久更新一次

    ThinkPHP 的缓存大概多久更新一次可以自己设置: thinkPHP的缓存默认是文件缓存,保存在Runtime文件夹里面, 如果不设置过期时间,且不清除Runtime文件,就会一直存在. 如果设置 ...

  2. ImageMagick convert多张照片JPG转成pdf格式,pdfunite合并PDF文件

      在认识ImageMagick之前,我***的图像浏览软件是KuickShow,截图软件是KSnapShot,这两款软件都是KDE附带的软件,用起来也是蛮方便的.在一次偶然的机会中,我遇到了Imag ...

  3. C语言进阶学习第二章

    本章重点记录指针的各种概念: 1.地址与内容 2.非法的赋值 3.NULL指针:NULL指针作为一个特殊的指针变量,表示不指向任何东西,在对指针进行解引用操作之前,首先必须 确保它并非NULL指针. ...

  4. idea从github中pull或者push成功之后tomcat启动不了,报Error....

    解决方案:删除deployment里面的war包,确定. 再在deployment里面重新添加一个war包,确定,即可.

  5. F - GCD - Extreme (II) UVA - 11426

    Given the value of N, you will have to find the value of G. The definition of G is given below:

  6. 使用Python实现不同目录下文件的拷贝

    目标:要实现将一台计算机的共享文件夹中的文件备份到另一台计算机,如果存在同名的文件只要文件的大小和最后修改时间一致,则不拷贝该文件 python版本:Python3.7.1 python脚本: fro ...

  7. VS2017+QT5.12环境配置与动态链接库的生成

    最近需要重新编译一个DLL动态链接库,由于源码中包含了QT代码,所以现在需要配置VS+QT环境. 本人系统环境:Win10 64位 一.安装 Visual Studio 2017软件下载安装教程:ht ...

  8. js字符实体 转义字符串

    HTML字符实体(Character Entities),转义字符串(Escape Sequence) 为什么要用转义字符串? HTML中<,>,&等有特殊含义(<,> ...

  9. Python版本OpenCV安装配置及简单实例

    # 2018-06-03 # 1. Python下载:https://www.python.org/downloads/ 选择对应平台对应版本的的Python进行安装. 2. Python版OpenC ...

  10. Qt : 隐式数据共享(copy on write)

    copy on write 意思当内容有变动的时候,才对容器中的数据结构进行复制.否则仅作共享. QT许多类中使用了隐式数据共享技术,来最大化资源利用率和最小化拷贝时的资源消耗. 在数据传递时,其实只 ...