主题 : jeecms演示站是怎么跳转到首页的咧
级别: 贡士
UID: 67
积分:466 加为好友
威望: 31 精华: 0
主题:68 回复:230
注册时间:2009-06-06
在线时长:0
1#   发表于:2009-06-26 09:02:26  IP:119.116.*.*
jeecms演示站是怎么跳转到首页的,首先请求的是那个Action,是怎么找到user_base下的index.html的
级别: 贡士
UID: 67
积分:466 加为好友
威望: 31 精华: 0
主题:68 回复:230
注册时间:2009-06-06
在线时长:0
2#   发表于:2009-06-29 15:16:19  IP:119.116.*.*
没人回答
级别: 白丁
UID: 204
积分:19 加为好友
威望: 0 精华: 0
主题:3 回复:2
注册时间:2009-06-27
在线时长:0
3#   发表于:2009-07-02 12:13:32  IP:113.224.*.*
jeems工程下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>
安装后web容器一启动时设置欢迎页面了
级别: 解元
UID: 77
积分:295 加为好友
威望: 0 精华: 0
主题:38 回复:91
注册时间:2009-06-08
在线时长:0
4#   发表于:2009-07-03 14:58:35  IP:60.140.*.*
Struts2收到index.do的请求后,先查找jeecms/core/struts-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>
把请求交给core.dynamicSystemAct对象,改对象所属的类为:com.jeecms.core.action.DynamicSystemAct.java,该类通过一句Spring的配置@Controller("core.dynamicSystemAct"),将其实例声明为core.dynamicSystemAct 。(Spring配置实际上如何产生作用,待研究)。

core.dynamicSystemAct对象接到请求之前,先执行4个拦截器的方法,设定参数,主要来看下<interceptor-ref name="url"/>拦截器的作用。该拦截器的定义配置在jeecms/src/struts-default.xml文件中,其对应的类为com.ponyjava.common.struts2.interceptor.UrlInterceptor。该拦截器对请求的路径做处理。

core.dynamicSystemAct对象接到请求,再执行其execute()方法,最后产生两个参数:namespace和actionName,此两个参数组成请求转发的路径,即:/jeedynamic/jeecms/Page.do,该请求通过查找jeecms/cms/struts-front.xml如下配置信息:
<package name="cms.front.page" namespace="/jeedynamic/jeecms" extends="empty-default">
<action name="Page" class="cms.cmsPageAct">
<result>${tplPath}</result>
<result name="pageCache" type="pageCache">${tplPath}</result>
<interceptor-ref name="exception"/>
<interceptor-ref name="chain"/>
</action>
</package>
将请求交给cms.cmsPageAct对象,该对象为com.jeecms.cms.action.front.CmsPageAct.java的实例。cms.cmsPageAct对象接收到请求后,执行execute()方法(继承自父类PageBaseAction.java)。初次进入,execute()方法根据条件执行sysIndex()方法,该方法执行完毕返回一个参数tplPath,值为:/WEB-INF/user_base/jeecms_com_www/template/article/default/index.html,即返回一个html文件路径。打开该index.html文件,发现里面有自定义的标签@cms,该标签的定义在freemarker.properties配置文件中,其配置信息如下:auto_import="/WEB-INF/ftl_lib/ponyjava.com/index.ftl" as p, "/WEB-INF/ftl_lib/jeecms/index.ftl" as cms 。则@cms标签所用的ftl模板文件为index.ftl。 打开index.ftl文件查看源代码,由多个ftl组成,以action_cms.ftl为例,该文件中通过使用freemarker标签的宏定义标签#macro,定义了几个数据模型:ChnlList和CommentList。每个宏里面使用struts2标签@s.action向请求数据,而html页面则使用这些数据模型来显示数据。
本帖最近评分记录:
  • korven    2009-08-24   人气    +2    回答很详细,值得表扬!
  • 级别: 秀才
    UID: 313
    积分:49 加为好友
    威望: 0 精华: 0
    主题:2 回复:23
    注册时间:2009-07-26
    在线时长:0
    5#   发表于:2009-08-23 16:00:02  IP:59.179.*.*
    说得很详细,学习了
    级别: 白丁
    UID: 845
    积分:2 加为好友
    威望: 0 精华: 0
    主题:0 回复:1
    注册时间:2009-09-20
    在线时长:0
    6#   发表于:2009-09-20 13:23:09  IP:123.96.*.*
    说的不错!
    级别: 白丁
    UID: 927
    积分:4 加为好友
    威望: 0 精华: 0
    主题:0 回复:3
    注册时间:2009-10-02
    在线时长:0
    7#   发表于:2009-10-02 18:50:12  IP:113.62.*.*
    特别感谢,也正好碰到!顶
    级别: 白丁
    UID: 996
    积分:2 加为好友
    威望: 0 精华: 0
    主题:0 回复:1
    注册时间:2009-10-17
    在线时长:0
    8#   发表于:2009-10-17 20:55:26  IP:221.238.*.*
    说的很好,谢谢。不过我不明白PageBaseAction.java里的String[] pathParams怎么设置的index值。能给解释下吗?
    级别: 童生
    UID: 955
    积分:7 加为好友
    威望: 0 精华: 0
    主题:0 回复:5
    注册时间:2009-10-10
    在线时长:0
    9#   发表于:2009-10-28 10:55:29  IP:222.216.*.*
    把请求交给core.dynamicSystemAct对象,改对象所属的类为:com.jeecms.core.action.DynamicSystemAct.java,该类通过一句Spring的配置@Controller("core.dynamicSystemAct"),将其实例声明为core.dynamicSystemAct 。(Spring配置实际上如何产生作用,待研究)。 

    这个地方是用了spring的注释驱动吧
    @Controller("修改的名字"),那么比如用getbean的时候,参数就可以是getbean("修改的名字")
    级别: 童生
    UID: 1231
    积分:42 加为好友
    威望: 0 精华: 0
    主题:4 回复:19
    注册时间:2009-11-29
    在线时长:0
    10#   发表于:2010-04-20 15:57:19  IP:119.215.*.*
    说的真不错,
    不过下边的两个星号是“通用action配置” 吗?
    <action name="**" class="core.dynamicSystemAct">
    主机互联IDC产品发布。 http://www.icphost.com
    1 2 > >| 共2页