ADF页面的输出样式

JDev version: 11.1.2.0.0

ADF页面的打印样式、邮件样式通常比普通样式简单,打印时有许多不需要显示的内容(按钮、滚动条),邮件样式尽可能简单以便在邮件中正常操作。

可以使用ADF提供的变量adfFacesContext.outputMode来控制组件是否显示显示:

<af:activeImage source="/images/stockChart.gif"

rendered="#{adfFacesContext.outputMode != "email"}"/>

adfFacesContext.outputMode对应的API如下,可以使用它取得页面样式:

AdfFacesContext.getOutputMode()

1,打印样式    printable

showPrintablePageBehavior 加到commandButton 中,打印commandButton 所在布局控件panelSplitter 、panelAccordion 、或者页面标签树的root节点包含的内容,打印时buttons、 tabs、scrollbars将会被忽略掉。

ADF页面:

对应的打印样式:

2,邮件样式    emailable

1)无法引用外部stylesheets,email页面与原页面肯定不同。

2)ADF会进行JSF页面的自动conversion来适应Microsoft Outlook、 Mozilla Thunderbird、Gmail

3)不是所有的组件都能显示在邮件样式中,下面是可以转换到邮件样式的组件

document

panelHeader

panelFormLayout

panelGroupLayout

panelList

spacer

showDetailHeader

inputText (renders as readOnly)

inputComboBoxListOfValues (renders as readOnly)

inputNumberSlider (renders as readOnly)

inputNumberSpinbox (renders as readOnly)

inputRangeSlider (renders as readOnly)

outputText

selectOneChoice (renders as readOnly)

panelLabelAndMessage

image

table

column

goLink (renders as text)

commandImageLink (renders as text)

commandLink (renders as text)

goImageLink (renders as text)

如何创建邮件样式:

在当前的URL中加 org.apache.myfaces.trinidad.agent.email=true

邮件样式的皮肤:

af|table {

  border: 1px solid #636661;

}

@agent email { 

  af|table 

{border:none}

}

运行时:

在 Render Response 阶段,如果ADF Faces框架接收到request参数 org.apache.myfaces.trinidad.agent.email=true ,监听器设置了一个内部标识,然后框架做如下处理:

1)Remove any JavaScript from the HTML.

2)Add all CSS to the page, but only for components included on the page.

3)Remove the CSS link from the HTML.

4)Convert all relative links to absolute links.

5)Render images with absolute URLs.

在URL中增加oracle.adf.view.rich.render.emailContentType=multipart/related,可以将HTML转换为MIME(图片可以在offline状态下浏览)。完整的request参数为:org.apache.myfaces.trinidad.agent.email=true&oracle.adf.view.rich.render.emailContentType=multipart/related

ADF页面:

对应的邮件样式:

技巧:

1)使用inlineStyle,在保证普通ADF页面布局不变的情况下,正常显示Email样式。

2)最后一列stretch,需要给最后一列设置个合理的宽度。

3)CSS问题导致af:table无上边框,可以设置Column的header样式。

4)要设置af:table 列头居中,列内容靠左、靠右等。

时间: 2024-08-30 09:42:49

ADF页面的输出样式的相关文章

[zz] 基于国家标准的 EndNote 输出样式模板

基于国家标准的 EndNote 输出样式模板 https://cnzhx.net/blog/endnote-output-style-cnzhx/ 发表于 2013-05-26 作者 Haoxian Zeng 更新于 2015-01-13 47 EndNote 相当于一个数据库,将添加/导入的文献存档.需要引用文献的时候就从中选择一个插入到文档中,EndNote 会自动给你编号.在文档末尾建立相应的参考文献列表.但是各种杂志.单位要求的文献著录格式是不一样的,所以在插入文献到文档之前,我们应该选

[转]基于国家标准的 EndNote 输出样式模板 ----直接用endnote导入到word,不用自己一个个改参考文献了

EndNote 相当于一个数据库,将添加/导入的文献存档.需要引用文献的时候就从中选择一个插入到文档中,EndNote 会自动给你编号.在文档末尾建立相应的参考文献列表.但是各种杂志.单位要求的文献著录格式是不一样的,所以在插入文献到文档之前,我们应该选择合适的文 献著录格式.这里提供我的基于国家标准 GB/T 7714-2005 <文后参考文献著录规则>编制的 EndNote 输出样式模板. 目前国内的中文期刊,以及各学校的毕业论文,采用的基本上都是中华人民共和国国家标准GB/T 7714-

javascript小实例,在页面中输出当前客户端时间

时间对象(Date())比较简单,本文旨在为初学者入门使用,大牛可略过! 本文承接基础知识实例,说一下实例的要求: 在页面中输出当前客户端时间(2015年1月1日星期一10:10:10这样的格式),每过一秒中页面不刷新,但是时间自动更新(用两种定时器方法都可以实现),鼠标点击时间,如果原先运动则停止,如果停止则继续运动: 要求基本上可分为2部分:一是不刷新自动更新时间,二是点击时间停止或更新时间 好,那我们还是老规矩,一步一步来,既然是时间,那就会用到时间对象 new Date(); 1 var

在JSP页面中输出JSON格式数据

JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.htmlJAR包下载地址: http://sourceforge.net/projects/json-taglib/files/latest/download 使用方法:1.下载json-taglib.jar,将其放到WEB-INF/lib目录2.在jsp页面中做如下声明:<%@ taglib prefix=&qu

动态为页面添加CSS样式文件引用

动态为页面添加CSS样式文件引用: 1 if (document.createStyleSheet) { //IE 2 document.createStyleSheet("./Themes/Default/MessageTip.css"); 3 } 4 else { //Firefox, Chrome 5 var stylesheet = document.createElement("link"); 6 stylesheet.href = "./The

页面布局和样式美化

在上一篇中我们事先了一个简单的Hello world页面. 在这一篇中,我们来认识下布局,和样式. 目前说的比较多的就是DIV+CSS DIV 是一个html里面的标签,就好像h1一样. 看下面一段代码 <html> <head> <title>DIV+CSS</title> </head> <body> <div> DIV+CSS </div> </body> </html> 里面的所

任务七:实现常见的技术产品官网的页面结构及样式布局

任务目的 通过实现一个常见的技术产品官网,加深对于HTML,CSS的实战能力 学习掌握如何在没有标注的情况下实现设计稿到页面的精确转变 任务描述 通过HTML及CSS实现设计稿 设计稿PSD文件(点击下载),效果如 效果图(点击打开) 设计稿是有一定宽度的,这个宽度为页面的最小宽度,也就是说,当浏览器窗口宽度小于设计稿宽度时,允许出现横向滚动条,页面内容宽度保持不变,但是当浏览器窗口宽度大于设计稿宽度时,页面部分内容的宽度应该保持和浏览器窗口宽度一致,具体哪些部分题目不做具体指明,看看大家的判断

改变console.log的输出样式

console.log允许你通过css来格式化输出,格式如下: console.log('%c字符串%c字符串', 样式1, [样式2]) 其中"%c"为模板字符串 例子: 1 console.log('%cHello','color:#fff;background:red') 改变多个样式 1 console.log('%cHello %cWord','color:#fff;background:red','color:white;background:#ccc')

用手机自带uc浏览器查看静态页面,css样式不显示

问题描述: 这个问题是一个同事在写手机页面用UC浏览器测试以后遇到的,其他浏览器静态页面显示正常,唯独UC浏览器不显示页面样式. 我测试过代码是没有问题的,因为临时没有找到安卓手机,就猜想PC端的应该跟手机端会有同样的问题,毕竟是同样的内核嘛. 然而PC上用UC浏览器看或者自带的手机模拟器都没有任何问题,唯独手机上不行. 解决方法:如下图,审查元素发现,尼玛,居然UC浏览器默认给head加了一个dislay:none;隐藏属性,然后试着把引入的css文件放在head之外,就可以正常显示了. 不过