新增对象Products 的流程说明
库内新增对象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 的流程说明的更多相关文章
- jeecms v9库内新增对象的流程及其他技巧
cms 开发 ———— 库内新增对象 Products 的流程说明及其他技巧 第一步:Entity com.jeecms.cms.entity.assist.base下建立模型基础类BaseCmsPr ...
- ES6新增对象方法的访问描述符:get(只读)、set(只写)
Es6新增对象方法的访问描述符:get(只读).set(只写),可以直接使用,一般用于数据监听,用途类似于vue.$watch. var obj = { a:1, get bar() { return ...
- mybatis新增对象自动生成uuid方案
mybatis新增对象时, 使用拦截器自动生成uuid方案有了它不再去xml中手动添加selectKey了, 生成id方案实现类自行实现, 实现IdGenerator接口便可, 主要代码由公司同事编写 ...
- spring中容器和对象的创建流程
容器和对象的创建流程 1.先创建容器 2.加载配置文件,封装成BeanDefinition 3.调用执行BeanFactoryPostProcessor 准备工作: 准备BeanPostProcess ...
- objc_msgSend消息传递学习笔记 – 对象方法消息传递流程
在Effective Objective-C 2.0 – 52 Specific Ways to Improve Your iOS and OS X Programs一书中,tip 11主要讲述了Ob ...
- javascript EcmaScript5 新增对象之Object.freeze
我们都知道在js里对象是很容易改变的 var obj1 ={ a:'111' } obj1.a = '222'; console.log( obj.a ) //output 222 对象的属性发生了变 ...
- Vue动态新增对象属性
Vue.set( target, key, value ) 参数: {Object | Array} target {string | number} key {any} value 返回值:设置的值 ...
- vue双向数据绑定对于数组和新增对象属性不能监听的解决办法
出现数组不能按照索引进行跟新的原因是处于性能考虑的,但是整体数组的增加删除是可以监听到的:对于对象新增属性不能监听是因为没有在生成vue实例时候放进watcher收集依赖. 首先我们先来了解vue数据 ...
- ECMAScript5新增对象语法糖getter和setter
在新的ECMAScript5中新添加了两个语法糖,这两个语法糖是这样的. var obj = (function(){ var num = 10; return { get n(){ return n ...
随机推荐
- HashMap(常用)方法个人理解
Hashmap的存值: public static void main(String[] args) { ///*Integer*/map.put("1", 1);//向map ...
- linux如何查看防火墙是否开启?删除iptables规则
iptables是linux下的防火墙组件服务,相对于windows防火墙而言拥有更加强大的功能,此经验咗嚛以centos系统为例.关于iptables的一般常见操作,怎么来判断linux系统是否启用 ...
- SpringCloud学习笔记(九):SpringCloud Config 分布式配置中心
概述 分布式系统面临的-配置问题 微服务意味着要将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务.由于每个服务都需要必要的配置信息才能运行,所以一套集中式的.动 ...
- idea从github中pull或者push成功之后tomcat启动不了,报Error....
解决方案:删除deployment里面的war包,确定. 再在deployment里面重新添加一个war包,确定,即可.
- poj-3468-A Simple Problem with Integers-线段树入门+区间更新
You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of op ...
- 分享18道Java基础面试笔试题(面试实拍)
上图来自Java技术栈微信群里的群友分享,看起来比较基础,但不一定人人都答得上来. 图片比较模糊,小编把题目进行了文字化. 1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求 ...
- 数据可视化(matplotilb)
一,matplotilb库(数学绘图库) mat数学 plot绘图 lib库 matplotlib.pyplot(缩写mp)->python 最常用接口 mp.plot(水平坐标,垂直坐标数组 ...
- 面试系列15 如何保证Redis的高并发和高可用
就是如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了,redis高可用 我这里会选用我之前讲解 ...
- 使用openSUSE Leap 42.2小记
闪存记录 在2017年04月10日开始想用openSuSE. 2017年04月10日开始找资料制作U盘安装openSUSE. 是在windows 7中用imageWrite.exe 软件制作的.安装的 ...
- springMVC or response redirect https
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> < ...