Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用jsf在新页面中打开站点的打印版本?_Java_Url_Jsf - Fatal编程技术网

Java 如何使用jsf在新页面中打开站点的打印版本?

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

我需要做一个链接,打开一个新的标签当前页面的打印版本。我已经有了相应的css文件。但我不知道如何指定何时使用此文件而不是标准文件


最简单的方法很好。如果我使用的是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" />