您好我正试图在点击时打开多个pdf文件,我正在尝试这种方式。
考虑到用户将通过选择多个单选按钮来选择多个选项来获取pdf文件。
<html>
<head>
<title>sendRedirect Program using Servlet</title>
</head>
<body>
<form name="pdf" target="_blank" method="get" action="http://localhost:8080/SendRedirectProg/sr">
<table border="1" width="500">
<tr>
<td>Select PDF:</td>
<td><INPUT type="radio" name="pdf" size="20" value="PDF 1">PDF 1
<INPUT type="radio" name="pdf" size="20" value="PDF 2">PDF 2
<INPUT type="radio" name="pdf" size="20" value="PDF 3">PDF 3</td>
</tr>
<tr>
<td><INPUT type="submit" size="20"></td>
</tr>
</form>
</table>
</body> </html>
因此,考虑到你将选择所有3个单选按钮,我想在不同的标签中打开所有这些pdf文件。
我正在尝试这种方式。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SendRedirectProg extends HttpServlet
{
public void method(ActionRequest req, ActionResponse res) throws
{
PrintWriter p=res.getWriter();
res.setContentType("text/plain");
String s=req.getParameter("pdf");
if(s.equals("PDF 1") && s.equals("PDF 2") && s.equals("PDF 3"))
{
res.sendRedirect("http://localhost:8080/SendRedirectProg/DemoPDF1.pdf");
res.sendRedirect("http://localhost:8080/SendRedirectProg/DemoPDF2.pdf");
res.sendRedirect("http://localhost:8080/SendRedirectProg/DemoMCA 3.pdf");
}
}
但它只显示最后一个,我理解使用res.sendRedirect,但我们仍然可以实现这个目标吗?
有什么建议吗?
答案 0 :(得分:1)
您无法在一次重定向中打开3个标签。你可以做的是使用jQuery或javascript
重定向到您将网址写入3个不同的隐藏div或直接生成脚本的页面
页面的onload,使用javascript打开它们。
window.open(url1,'_blank');
window.open(url2,'_blank');
window.open(url3,'_blank');
答案 1 :(得分:0)
target="_blank"
是你的答案;)
<form name="pdf" method="get" target="_blank" action="http://localhost:8080/SendRedirectProg/sr">
更多信息:http://www.w3schools.com/tags/att_form_target.asp
您的java代码中也存在问题,您应该只使用一个重定向,相应地传递值。
if(s.equals("PDF 1"))
{
res.sendRedirect("http://localhost:8080/SendRedirectProg/DemoPDF1.pdf");
}
if(s.equals("PDF 2"))
{
res.sendRedirect("http://localhost:8080/SendRedirectProg/DemoPDF2.pdf");
}
if(s.equals("PDF 3"))
{
res.sendRedirect("http://localhost:8080/SendRedirectProg/DemoMCA 3.pdf");
}