jsp到servlet与URL的参数通信,而不是表单

时间:2011-04-21 16:44:45

标签: java jsp servlets

我正在使用netbeans创建一个Web应用程序,允许手机用户扫描QR码并检索日志的上一个/下一个标题信息。回家点是用户没有输入数据的形式。 QR码将包含URL末尾的搜索字符串,我希望搜索在页面加载时开始,并输出包含搜索结果的页面。就目前而言(由于简单),我的模型只是解析一小部分MARC记录的XML文件。哦,最重要的是......我是java和使用netbeans编程的新手。我不清楚javabeans是什么,或任何更先进的技术。所以,这个背景说明是我的问题。

我创建了一个java类(main方法),它解析我的xml并正确检索结果。我有一个带有html的index.jsp。在index.jsp中,使用get从我的URL获取标题信息没有问题。 但我不知道如何将这些参数传递给包含我的java代码的servlet。如果我设法将搜索字符串提供给servlet,那么我不知道如何将该数据发送回index.jsp以在浏览器中显示。

到目前为止,我见过的每个例子都假设您正在获取表单数据,但我需要在页面加载时找到,处理和返回参数... IOW,没有用户输入。

感谢您的任何建议。 塞西

3 个答案:

答案 0 :(得分:2)

您可以使用request.getParameter("paramName");

在servlet中获取url参数

并且您可以使用从servlet到jsp的转发请求将该属性传递给servlet页面。

另见

答案 1 :(得分:2)

只需将必要的预处理代码放在servletdoGet()方法中:

String foo = request.getParameter("foo");
// ...
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);

并调用servlet的URL而不是JSP的URL,例如http://example.com/page?foo=bar而非http://example.com/page.jsp?foo=bar/page/*的网址格式上的servlet映射相结合。

答案 2 :(得分:0)

请记住,您的JSP页面将在内部编译为servlet。因此,您可以检索字符串并将其打印在同一JSP中。例如,假设您在名为param的参数中获取了字符串,那么您在JSP中会有类似的内容:

<%
 String param = request.getParameter( "param" );
 out.println( "String passed in was " + param );
%>

最后一件事,你提到了main方法 - 只为独立应用程序执行 - 而你正在谈论web / JSP:O