`
osacar
  • 浏览: 213113 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JEECMS v3.0.1 beta版源码分析2

阅读更多
JEECMS v3.0.1 beta版发布,采用的是采用hibernate3+spring mvc+spring2+freemarker主流技术架构.


再对前台配置文件进行分析jeecms-servlet-front.xml

加载的资源文件
    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">

       <property name="cacheSeconds" value="0"/>

       <property name="basenames">

           <list>
              <value>/WEB-INF/languages/jeecms_front/messages</value>
              <value>/WEB-INF/languages/fck/messages</value>
           </list>
       </property>
    </bean>




/WEB-INF/languages/jeecms_front/messages

/WEB-INF/languages/fck/messages

因为前台和后台是分离的两个独立的
Springmvc messageSource中只加载front前台的资源文件
messages_cn.properties

#专题模板
tpl.topicIndex=专题导航页
tpl.topicChannel=专题栏目页
tpl.topicDefault=专题默认页


#专用模板
tpl.tagIndex=标签导航页
tpl.tagDetail=标签详情页
tpl.searchInput=搜索输入页
tpl.searchResult=搜索结果页
tpl.commentPage=评论页
tpl.rss=RSS


模板页面都是中文名称,如
/WEB-INF/t/cms/www/red/index/首页.html

#客户端包含模板
tpl.index=首页
在程序中使用tpl.index最后对应模板中的”首页.html”的”首页”

如FrontUtils.getTplPath(request, site.getSolutionPath(),

"index", "tpl.index");

public static String getTplPath(HttpServletRequest request, String solution, String dir, String name)
   {
     return solution + "/" + dir + "/" +
       MessageResolver.getMessage(request, name, new Object[0]) + ".html";
  }

public static String getTplPath(HttpServletRequest request, String solution, String dir, String name)
   {
     return solution + "/" + dir + "/" +
       MessageResolver.getMessage(request, name, new Object[0]) + ".html";
  }




使用multipartResolver视图解析器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>






配置拦截器
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">

       <property name="interceptors">

           <list>
              <ref bean="frontContextInterceptor"/>

              <ref bean="frontLocaleInterceptor"/>

           </list>
       </property>
    </bean>




FrontContextInterceptor.java
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
     throws ServletException
   {
     CmsSite site = null;
     List<CmsSite> list = this.cmsSiteMng.getListFromCache();
     int size = list.size();
     if (size == 0)
       throw new RuntimeException("no site record in database!");
     if (size == 1) {
       site = (CmsSite)list.get(0);
     } else {
       String server = request.getServerName();

       for (CmsSite s : list)
       {
         if (s.getDomain().equals(server)) {
           site = s;
           break;
         }

         String alias = s.getDomainAlias();
         if (!StringUtils.isBlank(alias)) {
           for (String a : StringUtils.split(alias, ',')) {
             if (a.equals(server)) {
               site = s;
               break;
             }
           }
         }

         String redirect = s.getDomainRedirect();
         if (!StringUtils.isBlank(redirect)) {
           for (String r : StringUtils.split(redirect, ',')) {
             if (!r.equals(server)) continue;
             try {
               response.sendRedirect(s.getUrl());
             } catch (IOException e) {
               throw new RuntimeException(e);
             }
             return false;
           }
         }
       }

       if (site == null) {
         throw new SiteNotFoundException(server);
       }
     }

     CmsUtils.setSite(request, site);

     CmsUser user = null;
     Integer userId = this.authMng.retrieveUserIdFromSession(this.session, request);
     if (userId != null) {
       user = this.cmsUserMng.findById(userId);
     }

     if (user != null) {
       CmsUtils.setUser(request, user);
     }
     return true;
   }


分享到:
评论
1 楼 ie0ie0ie 2012-07-02  
有qq么?想请教你个jeecms问题

相关推荐

    JEECMS v3.0.1 beta 源代码(反编译) java spring freemaker springmvc

    JEECMS v3.0.1 beta版 源代码 我将发布版反编译的版本,主要是业务相关部分 core common部分没有反编译,如果第一次运行,需要手动运行install.html,并将web.xml中的替换掉 采用hibernate3+spring mvc+spring2+...

    jeecms v9.3 正式版 源码包.zip

    jeecms v9.3 正式版 源码包 更新日志 1、栏目添加选择模型模板只选择一个报错 2、内容复用待审核查询报错(开源版) 3、根栏目添加内容报错 4、后台页面样式调整 5、后台编辑器分页问题 7、数据统计今日...

    jeecms3.0.1beta 源码(反编译) 带common包

    Jeecms 3.0.1 Beta 是一个开源的Java内容管理系统,它的源码被反编译后提供了更深入的学习和定制机会。源码分析对于开发者来说是宝贵的资源,可以帮助理解系统的架构和工作原理,从而进行二次开发或者优化。在这个...

    jeecms v3.0.1 开源jsp网站管理系统.rar

    JEECMS V3.0.1 beta版完整更新列表: 1、新增会员中心模块; 3、页头会员登录改为CSI方式调用,不再受页面静态化影响; 4、修正前台投票报错问题; 5、修正后台投票项无法删除的问题; 6、修正后台栏目“是否允许顶...

    JEECMS v2.2 beta 贺岁版

    JEECMS v2.2 beta版对以下方面进行了更新: ·降低运行环境要求为jdk1.5、tomcat5.5、mysql5.0 ·增加了会员系统,为会员特设了“会员中心”控制模块 ·增加了文章浏览权限设置功能 ·修正了在linux平台下的系统...

    JEECMS v3.0.0 beta 源代码(反编译)_1

    【JEECMS v3.0.0 beta 源代码(反编译)_1】这一资源主要提供了JEECMS的v3.0.1 beta版本的源代码,经过了反编译处理。JEECMS是一款基于Java企业级平台开发的内容管理系统,广泛应用于企业网站、新闻门户以及各种信息...

    [CMS程序]JEECMS v3.0 beta.zip

    对于学习者来说,通过研究JEECMS v3.0 beta的源码,可以深入了解Java Web开发的实践,包括MVC(Model-View-Controller)架构模式、Servlet和JSP的协同工作、以及如何在实际项目中应用Java EE(企业版)规范。...

    JEECMS v2.4.1 beta 系统程序.rar

    JEECMS v2.4.1 beta版主要修正了JEECMS v2.4.0 beta版中存在的问题,在功能方面应用户的要求加入了专题系统、下载系统、全文检索等。在技术主要对数据库连接池组件进行的更换,采用了c3p0连接池组件,有效解决了由于...

    jeecms X1.0.1 正式版 源码包

    JEECMS是一款可以根据行政级别建立大型门户网站群的CMS,通过对站群权限的控制,可以建立中央部委、省、市、县、街道(镇)或总公司、分公司等... jeecms X1.0.1 更新日志:1、源码包和安装包瘦身2、修复了一些已知BUG

    jeecms v8.1 源码

    JEECMSv8.1是一款支持微信小程序、栏目模型、内容模型交叉自定义、以及具备支付和财务结算的内容电商为一体内容管理系统:通过后台的简单设置即可自定义出集新闻管理、图库管理、视频...doc/jeecms模板置标使用手册.doc

    jeecms v8.1 正式版 源码包

    《Jeecms V8.1 正式版源码包详解》 Jeecms V8.1 是一款专为构建大型门户网站群而设计的内容管理系统(CMS)。它以其强大的站群管理能力和灵活的权限控制机制,成为了众多企业和政府机构构建中央部委、地市级乃至区...

    jeecms v9.3 正式版 安装包.zip

    jeecms v9.3 正式版 安装包 更新日志 1、栏目添加选择模型模板只选择一个报错 2、内容复用待审核查询报错(开源版) 3、根栏目添加内容报错 4、后台页面样式调整 5、后台编辑器分页问题 7、数据统计今日...

    JEECMS2.0版本源码阅读

    在本文中,我们将对 JEECMS 2.0 版本的源码进行阅读和分析,了解其核心组件、技术框架和实现机制。 一、JEECMS 概述 JEECMS 是一个基于 Java 的内容管理系统,提供了强大的内容管理功能、灵活的模板系统和扩展性强...

    JEECMS v3.0.0 beta 源代码(反编译)_2

    JEECMS v3.0.0 beta是一个测试版,意味着可能存在一些未解决的问题和待优化的地方。通过源代码,开发者可以跟踪版本变更,了解新功能和修复的bug。 总结,JEECMS v3.0.0 beta的反编译源代码为开发者提供了深入了解...

    [CMS程序]JEECMS网站管理系统 v1.1 Beta 源代码_jeecms-1.1.0-beta-src.zip

    本文将详细介绍JEECMS v1.1 Beta版本的核心特性、技术架构以及其在毕业设计和学习中的价值。 首先,JEECMS v1.1 Beta是一个源代码开放的CMS系统,这意味着开发者可以深入理解系统的内部机制,对其进行定制和优化以...

    JEECMS V8.0 源码

    **JEECMS V8.0 源码详解** JEECMS V8.0 是一款基于Java技术构建的内容管理系统,其核心目标是为企业和个人提供一个高效、易用且具有高度可扩展性的平台。该系统以其全开源的特性,赢得了开发者们的青睐,允许用户在...

    [CMS程序]JEECMS v3.0 beta.rar

    【CMS程序】JEECMS v3.0 beta是一款基于Java EE技术栈的开源内容管理系统,专为构建企业级网站提供高效、稳定且可扩展的解决方案。这个版本是beta测试版,意味着它可能包含一些未公开的功能,同时也可能在功能完善和...

    JEECMS v2.3.2 Final版是JEECMS面世以来发布的第一个正式版是JEECMS面世以来发布的第一个正式

    五、面向未来的过渡,JEECMS v2.3.2 Final版是JEECMS面世以来发布的第一个正式版本,具有更大的灵活性和稳定性;-一、系统内核完全开源,为用户提供透明的管理平台,为java初学者提供良好的学习平台; 二、核心模板...

    jeecms v8.0 正式版 源码包

    【Jeecms V8.0 正式版 源码包】是一个针对大型门户网站群构建的CMS(内容管理系统)解决方案。这款系统以其强大的站群管理功能和灵活的权限控制系统,特别适合于中央部委级别的组织或者需要搭建多层级、多站点架构的...

    jeecms X1.4.1 正式版 源码包

    详细介绍 – [ jeecms X1.4.1 正式版 源码包 ] jeecms X1.4.1 正式版 源码包 更新日志 1、修复了一些已知问题 JEECMS简介 JEECMS 是JavaEE版网站管理系统(Java Enterprise Edition Content Manage System)的简称。...

Global site tag (gtag.js) - Google Analytics