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

cms 开发 ———— 库内新增对象 Products 的流程说明及其他技巧

第一步:Entity
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="100" eternal="false" timeToIdleSeconds="600" timeToLiveSeconds="7200" overflowToDisk="true"/>
第二步:Dao
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"/>
第三步:Service
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=您确定退出吗?
原文地址:https://www.cnblogs.com/Jeely/p/11224317.html