TAG标签引用

initPage.jsp

<%@ page contentType="text/html; charset=utf-8" %>
<%@ include file="/WEB-INF/jsp/common/tags.jsp" %>
<!DOCTYPE html>
<aos:head title="xxxx">
    <aos:include lib="bootstravel"/>
</aos:head>
<body ontouchstart>
<header class='demos-header'>
    <div class="demos-title">
    </div>
 </header>
 


<script type="text/javascript">
</script>
</body>
</html>

  includeTag.java

package cn.osworks.aos.web.tag.impl.app;



import cn.osworks.aos.core.asset.AOSCxt;
import cn.osworks.aos.core.asset.AOSJson;
import cn.osworks.aos.core.asset.AOSReflector;
import cn.osworks.aos.core.asset.AOSUtils;
import cn.osworks.aos.core.asset.WebCxt;
import cn.osworks.aos.core.typewrap.Dto;
import cn.osworks.aos.core.typewrap.Dtos;
import cn.osworks.aos.system.dao.mapper.Aos_sys_paramMapper;
import cn.osworks.aos.system.dao.po.Aos_sys_paramPO;
import cn.osworks.aos.system.dao.po.Aos_sys_user_cfgPO;
import cn.osworks.aos.system.modules.dao.vo.UserInfoVO;
import cn.osworks.aos.web.tag.core.model.TagDto;


import java.io.IOException;
import java.util.List;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;


public class IncludeTag extends AppTagSupport {
    private static final long serialVersionUID = 1L;
    private String lib;
    private String css;
    private String js;
    private String var;


    private void doPrepare()
            throws JspException {
    }


    public int doStartTag()
            throws JspException {


        doPrepare();


        Dto tagDto = new TagDto();


        super.pkgProperties(tagDto);


        int travel_sign = 0;


        if (AOSUtils.isNotEmpty(this.lib)) {


            String[] libs = this.lib.split(",");


            for (String libkey : libs) {


                tagDto.put(libkey, "true");


                if(libkey.equals("bootstravel")){
                    travel_sign = 1;
                }
            }
        }


        tagDto.put("css", this.css);


        tagDto.put("js", this.js);


        UserInfoVO userInfoVO = WebCxt.getUserInfo(this.pageContext.getSession());


        String skin = WebCxt.getCfgByUser(this.pageContext.getSession(), "skin_");


        if(travel_sign==1){
            tagDto.put("skin", "bootstravel");
        }
        else{
            tagDto.put("skin", skin);
        }


        tagDto.put("var", this.var);




        if (AOSUtils.isNotEmpty(this.var)) {


            String[] arrarVars = this.var.split(",");


            for (String curvar : arrarVars) {


                if (curvar.equalsIgnoreCase("user")) {


                    if (AOSUtils.isNotEmpty(userInfoVO))
                        tagDto.put("userString", AOSJson.toJson(userInfoVO));
                } else if (curvar.equalsIgnoreCase("syscfg")) {


                    Dto sysCfgDto = Dtos.newDto();


                    Aos_sys_paramMapper aos_sys_paramMapper = (Aos_sys_paramMapper) AOSCxt.getBean("aos_sys_paramMapper");


                    List<Aos_sys_paramPO> aos_sys_paramPOList = aos_sys_paramMapper.list(Dtos.newDto());


                    for (Aos_sys_paramPO aos_sys_paramPO : aos_sys_paramPOList) {


                        sysCfgDto.put(aos_sys_paramPO.getKey_(), aos_sys_paramPO.getValue_());




                        if ((AOSUtils.isNotEmpty(userInfoVO)) &&
                                (AOSUtils.isNotEmpty(aos_sys_paramPO.getOverwrite_field_())) && ("1".equals(aos_sys_paramPO.getIs_overwrite_()))) {


                            Aos_sys_user_cfgPO aos_sys_user_cfgPO = WebCxt.getUserCfgInfo(userInfoVO.getId_());


                            String value = "";


                            if (AOSUtils.isNotEmpty(aos_sys_user_cfgPO)) {


                                value = (String) AOSReflector.getFieldValue(aos_sys_user_cfgPO, aos_sys_paramPO.getOverwrite_field_());
                            }


                            if (AOSUtils.isNotEmpty(value)) {


                                sysCfgDto.put(aos_sys_paramPO.getKey_(), value);
                            }


                        }


                    }




                    tagDto.put("sysCfgString", AOSJson.toJson(sysCfgDto));
                }
            }
        }


String jspString = mergeFileTemplate("app/includeTag.vm", tagDto);
        try {


            this.pageContext.getOut().write(jspString);
        } catch (IOException e) {


            throw new JspException(e);
        }


        return 0;
    }


    public void release() {


        super.release();
    }


    public String getLib() {


        return this.lib;
    }


    public void setLib(String lib) {


        this.lib = lib;
    }


    public String getCss() {


        return this.css;
    }


    public void setCss(String css) {


        this.css = css;
    }


    public String getJs() {


        return this.js;
    }


    public void setJs(String js) {


        this.js = js;
    }


    public String getVar() {


        return this.var;
    }


    public void setVar(String var) {


this.var = var;
}

}


    includeTag.vm

##导入WEBUI库
#if($ext)
#if($skin == "neptune")
<link rel="stylesheet" type="text/css" href="$cxt/static/weblib/ext/resources/css/ext-all-neptune.css" />
<link rel="stylesheet" type="text/css" href="$cxt/static/css/skin/neptune.css" />
 #elseif($skin == "gray")
<link rel="stylesheet" type="text/css" href="$cxt/static/weblib/ext/resources/css/ext-all-gray.css" />
<link rel="stylesheet" type="text/css" href="$cxt/static/css/skin/gray.css" />
 #elseif($skin == "aos")
<link rel="stylesheet" type="text/css" href="$cxt/static/weblib/ext/resources/css/ext-all-aos.css" />
 #elseif($skin == "ding")
 ##TODO
 #else
<link rel="stylesheet" type="text/css" href="$cxt/static/weblib/ext/resources/css/ext-all.css" />
<link rel="stylesheet" type="text/css" href="$cxt/static/css/skin/blue.css" />
#end
<link rel="stylesheet" type="text/css" href="$cxt/static/css/aos-all.css" />
##<script type="text/javascript" src="$cxt/static/weblib/ext/bootstrap.js"></script>
<script type="text/javascript" src="$cxt/static/weblib/ext/ext-all.js"></script>
<script type="text/javascript" src="$cxt/static/weblib/ext/locale/ext-lang-zh_CN.js"></script>
<script type="text/javascript" src="$cxt/static/js/aos.js"></script>
#end
#if($jquery)
<script type="text/javascript" src="$cxt/static/weblib/jquery/jquery.min-1.10.2.js"></script>
#end
#if($buttons)
##如果需要使用下拉菜单,则还需要引入buttons.js
<link rel="stylesheet" type="text/css" href="$cxt/static/weblib/buttons/css/buttons.css" />
#end
#if($raphael)
<script type="text/javascript" src="$cxt/static/weblib/raphael/raphael.js"></script>
#end
#if($bootstrap)
##TODO
#end
#if($jqueryui)
##TODO
#end
#if($bootstravel)
 <link rel="stylesheet" type="text/css" href="$cxt/static/weblib/bootstravel/css/animate.css">
<link rel="stylesheet" type="text/css"  href="$cxt/static/weblib/bootstravel/css/icomoon.css">
<link rel="stylesheet"  type="text/css"  href="$cxt/static/weblib/bootstravel/css/bootstrap.css">
<link rel="stylesheet"  type="text/css" href="$cxt/static/weblib/bootstravel/css/flexslider.css">
<link rel="stylesheet"   type="text/css" href="$cxt/static/weblib/bootstravel/css/style.css">
<script src="js/respond.min.js"></script>
<script src="$cxt/static/weblib/bootstravel/js/jquery.min.js"></script>
<script src="$cxt/static/weblib/bootstravel/js/jquery.easing.1.3.js"></script>
<script src="$cxt/static/weblib/bootstravel/js/bootstrap.min.js"></script>
<script src="$cxt/static/weblib/bootstravel/js/jquery.waypoints.min.js"></script>
<script src="$cxt/static/weblib/bootstravel/js/jquery.flexslider-min.js"></script>
<script src="$cxt/static/weblib/bootstravel/js/main.js"></script>
#end
##导入指定的资源文件
#if($css)
<link rel="stylesheet" type="text/css" href="$css" />
#end
#if($js)
<script type="text/javascript" src="$js"></script>
#end


##导出用户信息和系统参数
#if($var)
<script type="text/javascript">
##当前用户对象及用户配置信息(无算法计算,为用户参数原始值)
#if($userString)
AOS.User =  ${userString};
#end
##系统配置参数(算法计算:根据是否允许用户参数覆盖和是否有对应的用户配置参数来计算最终值)
#if($sysCfgString)
AOS.SysCfg = ${sysCfgString};
#end
</script>
#end


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值