按钮"刷新新查询"适用于不希望键入查询的懒惰用户,而是从文件读取并存储在String变量h中。如果用户点击了那个"刷新新查询!"按钮,我希望将文件中读取的文本放在文本字段中,并自动调用搜索提交按钮。
但是我无法将Servlet中的参数字符串值传递给javascript函数。此外,我对AJAX或JQuery一无所知,所以javascript中的答案将不胜感激。我也可能在表单设计中出错,因为我是一个天真的用户。
String h="test";
writer.append("<html>\n");
writer.append("<head>\n");
writer.append(String.format("<title>%s - My Search</title>\n", displayQuery));
writer.append("<script type=\"text/javascript\">\n");
writer.append("function display(k) {\n");
writer.append(" var object =k ;\n");
writer.append("document.getElementById('textfield1').value=object;\n")
writer.append("document.form.submit \n")
writer.append(" }\n");
writer.append("</script>\n");
writer.append("</head>\n<body>\n");
writer.append("</head>");
writer.append("<body>");
writer.append("<div id=\"Layer1\">");
writer.append("<form action=\"search\">");
writer.append("<input type=\"text\" id=\"textfield1\" name=\"q\" placeholder=\"Search here...\">");
writer.append("<input id=\"gobutton1\"type=\"submit\" value=\"Search\"/>");
writer.append("</form>");
writer.append(String.format("<a href=\"search?q=%s&start=%d&n=%d\"><input id=\"gobutton\" type=\"button\" value=\"Refresh for New Query!\" onClick=\"display('"+h+"')\"/></a>",h,0,10));
writer.append("</div>");
.......
提前致谢。
答案 0 :(得分:0)
如果您想将参数从Servlet传递到JavaScript,那么它就变得简单了。 但是你应该知道JavaScript没有在服务器端处理,它将在浏览器中执行。
简单示例:
@WebServlet(name = "MyServlet", urlPatterns = {"/myservlet"})
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("<html><head>"+
"<script type=\"text/javascript\">"+
"function cc()"+
"{alert("+new Date()+")}"+
"</script>"+
"</head>"+
"<body>"+
"<input type='button' value='click me money' onclick='cc()'>"+
"</body>"+
"</html>");
}
}