在Servlet中收集用户输入,并在同一点返回以继续程序:Java
我有一个Java的web应用程序,可以执行标题匹配在Servlet中收集用户输入,并在同一点返回以继续程序:Java,java,servlets,web-applications,Java,Servlets,Web Applications,我有一个Java的web应用程序,可以执行标题匹配 Servlet是控制器,在Servlet的方法之一中,我比较了两个标题列表。第一个列表位于HashMap中,第二个列表来自查询ResultSet 我想做的是自动匹配那些具有相同标题的内容,并为用户提供确认具有某些相似性的内容(业务逻辑)的选项。基本上,我需要获得用户输入,然后在同一点返回以继续 我尝试了JOptionPane对话框,但没有成功。 现在,我尝试转发到另一个HTML页面以获取用户输入,然后返回到Servlet 下面是Servlet代
Servlet
是控制器,在Servlet
的方法之一中,我比较了两个标题列表。第一个列表位于HashMap
中,第二个列表来自查询ResultSet
我想做的是自动匹配那些具有相同标题的内容,并为用户提供确认具有某些相似性的内容(业务逻辑)的选项。基本上,我需要获得用户输入,然后在同一点返回以继续
我尝试了JOptionPane
对话框,但没有成功。
现在,我尝试转发到另一个HTML页面以获取用户输入,然后返回到Servlet
下面是Servlet
代码:
while (Querylist.next()) {
String title = Querylist.getString(1).trim().toLowerCase();
if (MyMap.containsKey(title))
{
// confirm match
} else
{
//some title2 is like title
request.setAttribute("Title1", title);
request.setAttribute("Title2", title2);
RequestDispatcher view = request.getRequestDispatcher("TitleMatch.jsp");
view.forward(request, response);
ResultMatch= request.getParameter("ResultMatch");
if (ResultMatch.equals("YES"))
{
// confirm match
}
}
}
HTML页面:
<B> <%= request.getAttribute("Title1")%></B>
<B> <%= request.getAttribute("Title2")%></B>
<FORM method="get" action="DataMerge">
<input type = "radio" name="MatchResult" value="YES" /> YES
<input type = "radio" name="MatchResult" value="NO" checked/>NO
<button type = "submit" formaction="DataMerge" > <b>CONFIRM</b>
</FORM>
对
不
证实
编辑:循环工作,我有一个java.lang.IllegalStateException。
有没有人能帮助我们找出如何在纯Java中高效地实现这一点
我找了这么多地方,没有找到类似的东西。提前感谢。您可能需要重新考虑您的方法,因为您编写的代码存在许多基本问题。例如:
Map
,因为它是类的名称,所以应该使用Map对象的名称这里和YouTube上都有一些关于使用AJAX和JSP的好教程。谢谢您的回复。该列表是查询的结果集,因此工作正常,映射是一个HashMap,其中包含我要比较的标题列表。是的,我有java.lang.IllegalStateException例外,您需要跟踪您在映射中的位置,以便在返回servlet时可以转到下一个元素。这可以通过在会话变量中维护索引并在每次向客户机发送标题对时更新其值来实现,然后在返回servlet时可以检索其值并获取映射中的下一个值。删除while循环这不是解决方案,因为每次进入servlet时,它都会重置为第一个元素。感谢Alex,我使用了一种类似的方法,将所有对显示在JSP页面中,并带有供用户确认的选项。JSP有一个表单,它调用另一个Servlet来更新数据库并显示确认页面。