gpt4 book ai didi

jsf - 有条件地渲染 JSF 组件以进行打印

转载 作者:行者123 更新时间:2023-12-05 01:14:36 25 4
gpt4 key购买 nike

我只想打印我网页的某个部分(所以不是整个页面)。我怎样才能在 JSF 中实现这一点?

最佳答案

这通常由 CSS 控制,使用 display: none|block .检查 CSS media rules .

例如,作为 @media print {}在默认 CSS 文件中:

@media print {
#header, #footer, #menu {
display: none;
}
}

(以上示例将隐藏 ID 为 headerfootermenu 的 HTML 元素)

或者通过通用样式类:

@media screen {
.printonly {
display: none;
}
}

@media print {
.noprint {
display: none;
}
.printonly {
display: block;
}
}

然后添加 styleClass="noprint"那些你想隐藏起来的人,以及 styleClass="printonly"那些您只想以打印形式显示的内容。

您还可以将特定于打印的 CSS 放在其自己的样式表文件中,并使用 <link media="print"> 引用它。或 <h:outputStylesheet media="print">如下:

<link rel="stylesheet" href="#{request.contextPath}/css/print.css" media="print" />
<!-- Or -->
<link rel="stylesheet" href="#{resource['css/print.css']}" media="print" />
<!-- Or -->
<h:outputStylesheet name="css/print.css" media="print" />

#header, #footer, #menu { 
display: none;
}

注意应该是 <h:outputStylesheet media>属性仅在 JSF 2.1 中添加,因此如果您仍在使用 JSF 2.0,请考虑升级到至少 2.1(应该是 100% 兼容的,Web 应用程序本身没有任何代码和配置更改)。否则就选择纯 HTML <link>方法。

关于jsf - 有条件地渲染 JSF 组件以进行打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8248280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com