ADF页面的输出样式
2014-09-10 15:33
127 查看
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 列头居中,列内容靠左、靠右等。
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 列头居中,列内容靠左、靠右等。
相关文章推荐
- 怎么解决Response.Write输出alert时页面样式走样
- 后台输出js脚本 页面回发后丢失样式
- 解决Response.Write输出alert时页面样式走样
- PHP配置使PHP在页面中支持<?= $content; ?>输出内容
- 编写一个jsp页面,输出九九乘法表。
- 示例:Servlet读取文件内容并在页面打印输出
- 修改 页面中默认的select样式
- Asp.Net页面输出到EXCEL
- servlet页面跳转丢失样式问题
- [Win8]Windows8开发笔记(七):页面样式的相关介绍
- html静态页面循环输出后台结果,带if判断
- 在JSP 页面中 添加CSS 样式
- jQuery Mobile动态刷新页面样式
- JSP页面处理和输出
- 用css改变console.log的输出样式
- ZXing生成条码二维码并输出到web页面的示例
- php 设置页面导航动态active类样式的添加
- ASP.Net 更新页面输出缓存的几种方法(包括用户控件,iframe,页面缓存等)
- NoteExpress 自定义参考文献输出样式
- weblogic容器通过JSP页面输出图片出现乱码Tomcat下却正常