wlzxwfk 发表于 2017-2-16 08:03:58

在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也可以达到目的
页: [1]
查看完整版本: 在weblogic portal中引入dojo【备忘】