日期:2014-05-17  浏览次数:20638 次

Oracle ADF中使用自定义css实现文字倒立
需求:如果在我们的系统中要实现一个打印功能,它类似于会议上每个嘉宾面前折叠树立的名片,要制作这样的名片,需要在一张纸上实现文字的倒立功能。

oracle adf有自己的skins,这包括一套images图片,和一些css样式,如果我们想改变oracle adf框架原有的样式时,该怎么办呢?让我们来分析一下:

1、在jspx文件里直接加入css引用不太现实,因为里面根本不支持css引用的标签嵌入。

2、直接使用jsp,在jsp中使用css,这种方法经过测试可行。

那么,根据分析1,我们是否也可用实现css的引用呢,其实oracle adf有自己的css引用机制,我们可用按照下面步骤进行自定义css(当然,你的css中用到图片,你还需将图片也拷贝到你的项目中)

1、在项目里创建public_html\skins\javaeduSkin\javaedu.css,并在其中加入如下css内容:

.upsideDown{
     filter:  progid:DXImageTransform.Microsoft.BasicImage(rotation=2);  /* IE6,IE7 */  
     ms-filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); /* IE8 */  
     -moz-transform: rotate(-180deg);  /* FF3.5+ */  
     -o-transform: rotate(-180deg);  /* Opera 10.5 */  
     -webkit-transform: rotate(-180deg);  /* Safari 3.1+, Chrome */  
     position: absolute;  
    font-size:100px; text-align:center; 
}



2、在WEB-INF下创建trinidad-skins.xml,在其中加入如下代码:

<skins xmlns="http://myfaces.apache.org/trinidad/skin">
    <skin>
        <id>javaedu.desktop</id>
        <family>javaeduSkin</family>
        <extends>blafplus-rich.desktop</extends>
        <render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id>
        <style-sheet-name>skins/javaeduSkin/javaedu.css</style-sheet-name>
    </skin>
</skins>


3、在WEB-INF下创建trinidad-config.xml,在其中加入如下代码:

<trinidad-config xmlns="http://myfaces.apache.org/trinidad/config">
  <skin-family>javaeduSkin</skin-family>
</trinidad-config>


3、创建public_html\pages\javaedu-font.jspx,其中重点内容如下:

<af:panelSplitter id="ps1" orientation="vertical" splitterPosition="300"
                  collapsed="false" disabled="true"
                  inlineStyle="margin-top:50px;">
  <f:facet name="first">
    <af:outputText value="redhacker.iteye.com" id="otww3" styleClass="upsideDown"/>
  </f:facet>
  <f:facet name="second">
    <af:outputText value="redhacker.iteye.com" id="ot3"
                   inlineStyle="font-size:100px; text-align:center;"/>
  </f:facet>
</af:panelSplitter>


其中,styleClass="upsideDown"就是引用了我们自己定义的css。

4、将javaedu-font.jspx拖入adfc-config.xml中,产生一个view组件,如下图:




5、通过http://127.0.0.1:7101/Demo-zcUI-context-root/faces/javaedu-font,将可用预览自动的css效果,如下图:




关于分析2的,这里就不在累述,因为跟我们普通的使用方法是一样的,呵呵。

补充说明:如果我们要重写oracle adf框架默认的skins,需要在javaedu.css里将所有组件的默认样式重新定义一遍。