def index = {
println(params)
def testModel = this.getProperties().containsKey('chainModel') ?
chainModel : null
JasperReportDef report = null
if (params.containsKey('auto_print_dialog')){
report = docuJasperService.buildReportDefinition(params,
request.getLocale(), testModel)
}
else{
report = jasperService.buildReportDefinition(params,
request.getLocale(), testModel)
}
generateResponse(report)
}
def generateResponse = {reportDef ->
if (!reportDef.fileFormat.inline && !reportDef.parameters._inline) {
//response.characterEncoding = "UTF-8"
//response.setHeader("Content-disposition",
//"inline; filename=${params._name}");
response.setHeader("Content-disposition", "inline;
filename="+(reportDef.parameters._name ?: reportDef.name) +
"."+reportDef.fileFormat.extension);
response.contentType = "application/pdf"
response.outputStream << reportDef.contentStream.toByteArray()
} else {
render(text: reportDef.contentStream, contentType:
reportDef.fileFormat.mimeTyp,
encoding: reportDef.parameters.encoding ?
reportDef.parameters.encoding : 'UTF-8');
}
}
这将由用于生成报告的链接处理。通常,添加_blank的目标就可以完成这个任务。例如:
<g:link controller="myReports" action="whateverReport" target="_blank">Click for your report</g:link>
这将打开一个新选项卡中的链接。
如果使用的是表单,向表单添加target将把表单提交到一个新的选项卡。例如:
<form name="myForm" action="whateverReport" method="POST" target="_blank">
<g:form name="myForm" controller="myReports" action="whateverReport" target="_blank">
问题内容: 我有来自第三方开发人员的JavaScript文件。它具有一个具有链接的链接,该链接将当前页面替换为目标页面。我想在新标签页中打开此页面。 这是我到目前为止所拥有的: 谁能帮我吗? 问题答案:
所以我试图在我的WebDriver中打开新的标签页。我想这样做,因为打开一个新的WebDriver为每个网站使用PhantomJS约3.5秒,我想要更快... 我使用的是一个多进程python脚本,我希望从每个页面中获取一些元素,因此工作流如下所示:
我看过很多答案 Selenium IDE:在新选项卡中打开并将焦点转移到新选项卡不工作 如何在新选项卡中打开链接等...关于这个问题的帖子,但没有一个是100%相关的,所以,我再次问这个。我需要在三个不同的选项卡中打开三个不同的链接:
如何使用Java中的Selenium WebDriver(又名Selenium 2)在现有的Firefox浏览器中打开新的选项卡?
我如何使用selenium(java)在IE中打开一个新的标签,并在该标签中打开一个url(而不是窗口)?我正在使用下面的代码打开一个新的标签?