在weblogic portal中引入dojo【备忘】

最近使用oracle workshop for weblogic开发porlet

使用dojo作为js框架,但是dojo在引入的时候有点问题因为有个初始变量要设置

djConfig = {parseOnLoad:true, isDebug:true};

因为要把dojo框架放到look and feel的skin.xml当中,因此不能像以前那样写:

<script src='<portal-logic:urlFindInTheme file="dojo/dojo/dojo.js" />' djConfig="parseOnLoad: true"></script>

需要换一种方式,更改如下

根据weblogic portal中把js引入的skin.xml标签,改写如下

                <ns:script type="text/javascript">
                    var djConfig = {parseOnLoad:true, isDebug:true};
                </ns:script>
                <ns:script charset="" src="dojo/dojo.js" type="text/javascript"/>

如果只需要在单个portlet中引入,也可以参考写类似的配置。

测试通过

另外在weblogic portal中引入了dojo的主题样式以后,有可能在使用过程中发现有些样式没有生效

<ns:link charset="" href="js/dijit/themes/hneiac/hneiac.css"  rel="stylesheet" type="text/css"/>

其实dojo主题在应用的时候需要在body标签当中写入class

<body class="nihilo">

但是在weblogic portal中使用的时候,会默认从look and feel中设置把body标签的class属性为:

bea-portal-body  
因此造成dojo样式变化,测试中发现dijit.Dialog背景完全没有显示出来

要使dojo样式生效有很多方法

比如通过js来改变 
document.body.className = 'nihilo'
document.body.className = 'bea-portal-body
 nihilo'
使用定制dojo主题也可以实现

复制一个主题,如:nihilo,把里面的css文件的nihilo全部替换成bea-portal-body也可以达到目的 

你可能感兴趣的:(JavaScript,oracle,css,weblogic,dojo)