Java 如何使用jsf在新页面中打开站点的打印版本?
我需要做一个链接,打开一个新的标签当前页面的打印版本。我已经有了相应的css文件。但我不知道如何指定何时使用此文件而不是标准文件Java 如何使用jsf在新页面中打开站点的打印版本?,java,url,jsf,Java,Url,Jsf,我需要做一个链接,打开一个新的标签当前页面的打印版本。我已经有了相应的css文件。但我不知道如何指定何时使用此文件而不是标准文件 最简单的方法很好。如果我使用的是JSP,我只需将get参数添加到打印链接URL。使用jsf有没有办法获得类似的结果?您可以使用f:param标记将get参数添加到任何jsf链接中 <h:outputLink value="/somepage.xhtml" target="_blank"> <h:outputText value="Link to
最简单的方法很好。如果我使用的是JSP,我只需将get参数添加到打印链接URL。使用jsf有没有办法获得类似的结果?您可以使用f:param标记将get参数添加到任何jsf链接中
<h:outputLink value="/somepage.xhtml" target="_blank">
<h:outputText value="Link to Some Page"/>
<f:param name="someparam" value="somevalue">
</h:outputLink>
这将呈现如下基本情况:
<a href="/somepage.xhtml?someparam=somevalue" target="_blank">Link to Some Page</a>
您可以添加多个带有更多f:param字段的参数。或者,如果它是静态的,您可以将其添加为outputLink本身的一部分
<h:outputLink value="/somepage.xhtml?someparam=somevalue" target="_blank">
<h:outputText value="Link to Some Page"/>
</h:outputLink>
当然,问题是您不能这样做并触发服务器端事件。我还没有弄清楚如何从一个帖子回来,并在一个新的标签上得到它 使用EL动态指定CSS文件,下面是一个检查
print
请求参数是否存在的示例(因此,
就足够了):
当页面即将打印时,将自动使用由
media=“print”
指定的页面。我已经指定了媒体属性,但出于某些原因,客户端需要链接。很好,我扩展了答案,除了${param}
之外,几乎没有其他可能性。
<link rel="stylesheet" type="text/css" href="${not empty param.print ? 'print.css' : 'normal.css'}" />
<link rel="stylesheet" type="text/css" href="<h:outputText value="#{bean.cssFile}" /> " />
<link rel="stylesheet" type="text/css" href="#{bean.cssFile}" />
<link rel="stylesheet" type="text/css" href="normal.css" media="screen, handheld, projection" />
<link rel="stylesheet" type="text/css" href="print.css" media="print" />