精华内容
下载资源
问答
  • JeeCMS

    2013-06-25 00:44:21
    JeeCMS
  • JEECMS

    2011-12-21 21:43:16
    JEECMS
  • jeecms

    2017-03-21 17:15:12
    jeecms自定义标签 By tcxurun | 2013 年 11 月 28 日 暂无评论 最近在研究jeecms,虽然已经有很多标签了,但是由于需要,需要增加新的标签。 比如增加一个标签,可以根据会员组id查出该...
    

    jeecms自定义标签

    By tcxurun | 2013 年 11 月 28 日
    最近在研究jeecms,虽然已经有很多标签了,但是由于需要,需要增加新的标签。
    比如增加一个标签,可以根据会员组id查出该组下所有的会员。
    其中CmsUser  CmsUserDao 及CmsUserMng原系统已有,查询会员方法也有,因此只需编写一个FreeMarker标签类就行了。此标签类需要实现TemplateDirectiveModel接口。
    public class CmsMemberListDirective implements TemplateDirectiveModel {
    /**
    * 模板名称
    */
    public static final String TPL_NAME = "member_list";
    /**
    * @Fields GROUP_ID : 输入参数,会员组ID
    */
    private static final String GROUP_ID = "groupId";
    /**
    * @Fields DISABLED : 输入参数,是否禁用
    */
    private static final String DISABLED = "disabled";
    
    public void execute(Environment env, Map params, TemplateModel[] arg2,
    TemplateDirectiveBody body) throws TemplateException, IOException {
    CmsSite site = FrontUtils.getSite(env);
    Integer groupId = getId(params);
    Boolean disabled = DirectiveUtils.getBool(DISABLED, params);
    List list = cmsUserMng.getList(null, null, null, groupId, disabled, null, null);
    Map<String, TemplateModel> paramWrap = new HashMap<String, TemplateModel>(
    params);
    paramWrap.put(OUT_LIST, DEFAULT_WRAPPER.wrap(list));
    Map<String, TemplateModel> origMap = DirectiveUtils
    .addParamsToVariable(env, paramWrap);
    InvokeType type = DirectiveUtils.getInvokeType(params);
    String listStyle = DirectiveUtils.getString(PARAM_STYLE_LIST, params);
    if (InvokeType.sysDefined == type) {
    if (StringUtils.isBlank(listStyle)) {
    throw new ParamsRequiredException(PARAM_STYLE_LIST);
    }
    env.include(TPL_STYLE_LIST + listStyle + TPL_SUFFIX, UTF8, true);
    } else if (InvokeType.userDefined == type) {
    if (StringUtils.isBlank(listStyle)) {
    throw new ParamsRequiredException(PARAM_STYLE_LIST);
    }
    FrontUtils.includeTpl(TPL_STYLE_LIST, site, env);
    } else if (InvokeType.custom == type) {
    FrontUtils.includeTpl(TPL_NAME, site, params, env);
    } else if (InvokeType.body == type) {
    body.render(env.getOut());
    } else {
    throw new RuntimeException("invoke type not handled: " + type);
    }
    DirectiveUtils.removeParamsFromVariable(env, paramWrap, origMap);
    
    }
    
    private Integer getId(Map<String, TemplateModel> params)
    throws TemplateException {
    Integer id = DirectiveUtils.getInt(GROUP_ID, params);
    if (id != null) {
    return id;
    } else {
    throw new ParamsRequiredException(GROUP_ID);
    }
    }
    @Autowired
    private CmsUserMng cmsUserMng;
    }
    

    写完后需要在在jeecms-context.xml文件中加入CmsChannelStatisticsDirective标签类的bean注入代码。

    <bean id="cms_member_list" class="com.jeecms.cms.action.directive.CmsMemberListDirective"/>

    接着还要在在jeecms-servlet-front.xml文件中配置:

    <entry key="cms_member_list" value-ref="cms_member_list"/>
    <entry key="cms_member_page" value-ref="cms_member_page"/>
    
    
    配完后重启项目,可以在栏目模板中使用标签了。
    </pre>
    [@cms_member_list groupId = '1']
     [#list tag_list as a]
     <li>${a.username}</li>
     [/#list]
    [/@cms_member_list]
    <pre>
    Category: Java 标签:jeecms
    展开全文
  • jeecms源码

    2017-10-25 10:54:52
    jeecms源码,spring+springmvc框架,jeecms资源,超好用。
  • jeecms introduction

    2014-05-09 13:32:58
    jeecms介绍
  • jeecms安装包

    2014-03-31 10:45:26
    jeecms安装包
  • jeecms介绍

    2015-08-28 09:21:14
    jeecms的介绍ppt,供大家参考。包括jeecms的来历,接口等
  • jeecms文档

    2015-05-12 13:31:14
    该资源是jeecms二次开发的必备,jeecms是比较好的一套开源管理系统,所以二次开发是难免的
  • jeecms标签

    2014-03-21 16:11:47
    Jeecms是基于java技术研发的站群管理系统,稳定、安全、高效、跨平台、 无限扩展是jeecms 的优点,系统支持mysql、oracle、sqlserver、db2等主流 数据库。 轻松建设大规模网站群,从jeecms开始。jeecms关于标签必备...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,367
精华内容 546
关键字:

jeecms