jeeecms设计的思想
1、在web.xml文件中对所有的htm为后缀的全部使用struts处理;
2、配置动态的action,做为总的控制,根据请求转发到 另一个action
<!–动态系统–>
<package name="core.front.dynamic" namespace="" extends="empty-default">
<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>
</package>
3、 前台的页面处理的action,主要是查找定义的模板;
<!–JEECMS前台页面–>
<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>
4、在struts-default.xml默认freemarker为结果类型,也就是使用freemarker解析模板
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult" default="true"/>
5、在freemarker.properties文件中包含,导入标签
auto_import="/WEB-INF/ftl_lib/ponyjava.com/index.ftl" as p, "/WEB-INF/ftl_lib/jeecms/index.ftl" as cms
6、action_cms.ftl文件
<@s.action name=’CommentList’ namespace=’/jeecms/tag/cms’ executeResult=’true’
调用action
7、UrlAware接口,对URL进行处理,用户处理前台翻页、路径参数和‘-’分割的参数
* 路径参数。将路径分割成字符串。如:http://www.sina.com/news/32.htm,取{"news","32"}。
* 用于分页。访问路径前面部分。如:http://www.sina.com/news/32_2.htm,取"http://www.sina.com/news/32"
8、感觉不足的地方,就是每个版块的内容获取也需要经过action,这个每块都要经过拦截器,造成很大的浪费资源。
欢迎转载,请注明出处:亲亲宝宝