-4
我有servlet與url模式/ servlet。我叫它如何用window.open正確調用servlet?
function func(id){window.open ("../servlet?fileId="+id, "hiddenFrame");}
通過href在jsp中哪些不起作用。但是通過URL/servlet訪問它?fileId = 2的作品。我認爲這是一個servlet映射問題。請幫助。
更新:我添加下面
的index.jsp的代碼只聲明:
<%request.getRequestDispatcher("newjsp.jsp").forward(request,response);%>
newjsp.jsp了代碼:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
<script language="JavaScript">
function func (id)
{
window.open ("/servlet?fileId="+id, "hiddenFrame");
}
</script>
</head>
<body>
<h1>Hello World!</h1>
<%
out.println("<a href='javascript:func(2)'>Link</a>");
%>
</body>
<iframe src="about:blank" name="hiddenFrame" width=0 height=0 frameborder=0>
</iframe>
</html>
servlet.java有代碼:
package newpackage;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "servlet", urlPatterns = {"/servlet"})
public class servlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet servlet at " + request.getContextPath() + "</h1>");
out.println("</body>");
out.println("</html>");
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
首先,您在上面的window.open方法中使用的url包含兩個dots.Check首先。其次,請儘量提供確切的錯誤跟蹤。 – ramasCoder
@ professionallyme86我已經刪除了點,但仍然無法使用。我沒有收到任何錯誤。點擊返回只是懸停在鏈接顯示'javascript:func(2)' –
你能分享代碼嗎? – ramasCoder