搜索结果有误?

时间:2016-05-30 21:57:54

标签: java jsp

我正在尝试在JSP页面中创建一个研究函数,该页面默认显示所有录音。我添加了一个提交到同一页面的表单,如果有搜索输入则显示连贯的搜索结果,或者只是显示所有录音,就像我在上面说的那样。

每当我搜索时,都会发生这种情况:

  • 如果搜索的字词有结果,则仅显示最后一次录制
  • 如果搜索到的字词没有结果,则不会显示任何内容(这是正常的)

这是我的代码:

<form>
<input type="text" name="searchinput" placeholder="Search...">
</form>

<% String recordingsXML = getRecordings(null);
SAXBuilder saxBuilder = new SAXBuilder();
org.jdom2.Document doc = saxBuilder.build(new StringReader(recordingsXML));
org.jdom2.Element racine = doc.getRootElement();
List listRecordingsLues = racine.getChildren("recording");
Iterator<org.jdom2.Element> i = listRecordingsLues.iterator();
String keyword = request.getParameter("searchinput");
if (keyword != null && keyword.length() >0) {

while(i.hasNext()) {

if(i.next().getChild("name").getText().indexOf(keyword)!=-1) {

org.jdom2.Element p = i.next();%>
<%String titre = p.getChild("name").getText();%>
<%String description = p.getChild("description").getText();%>
<%String duree = p.getChild("length").getText();%>
<%String recordID = p.getChild("recordID").getText();%>
<li>
<b>Titre :</b> <%=titre%>                 
<b>Description :</b> <%=description%>
<b>Durée :</b> <%=duree%>
<a href="foo?meetingId=<%=recordID%>"></a>  
</li>
<%}}%>

<%}else {

while(i.hasNext()) {

org.jdom2.Element p = i.next();%>
<%String titre = p.getChild("name").getText();%>
<%String description = p.getChild("description").getText();%>
<%String duree = p.getChild("length").getText();%>
<%String recordID = p.getChild("recordID").getText();%>
<li>
<b>Titre :</b> <%=titre%>                 
<b>Description :</b> <%=description%>
<b>Durée :</b> <%=duree%>
<a href="foo?meetingId=<%=recordID%>"></a>  
</li>

<%}}%>

请注意,如果我加载页面,通常没有任何搜索输入,或者如果我输入空输入,它会正常显示所有录音,这样就不会出现问题。

有什么建议吗?提前谢谢。

0 个答案:

没有答案