我有一个用Java进行标题匹配的Web应用程序。
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中有效地做到这一点?
我搜遍了所有的SO并且没有发现类似的东西。提前谢谢。
答案 0 :(得分:0)
您可能想重新考虑您的方法,因为您编写的代码存在许多基本问题。例如:
Map
,因为它是类的名称,您应该使用地图对象的名称。我建议你不要试图一次发送一个标题对,而是在一个JSP上显示所有标题对(或者如果有太多标题对,则每个标题对旁边都有一个“是”按钮,并且当用户单击时是按钮,对另一个更新数据库的servlet(或后者用于更新数据库的数组)进行AJAX调用。
在SOF和YouTube中有一些关于使用AJAX和JSP的好教程。