[img]http://dl.iteye.com/upload/attachment/531871/57463dbb-5454-3a2c-9819-d4bc1bcf1729.jpg[/img]
页面上显示的是undefined,主要是DWR没学过,还有setAttribute('id','info'+list[i]);appendChild(ele);innerHTML这些用法不是很清楚
到底是哪里出错了,照我的理解应该会显示出我需要的结果的啊,标题加内容
核心代码:
[code="java"]var request;
var minpage;
var maxpage;
var startindex;
var hasnext;
function doSearch(type){
var result=document.getElementById("result");
var pagingdiv=document.getElementById('paging');
result.innerHTML="";
pagingdiv.innerHTML="";
if(type!='paging'){
var startindexinput=document.getElementById('startindex');
startindexinput.value="1";
}
request={startindex:1,query:""};
DWRUtil.getValues(request);
searchService.getSearchResults(request,fillPage);
}
function fillPage(data){
var ID=data.id;
var URL=data.url;
var TITLE=data.title;
var CONTENT=data.content;
var resultdiv=document.getElementById('result');
var pagingdiv=document.getElementById('paging');
resultdiv.innerHTML="";
pagingdiv.innerHTML="";
if(ID.length==0){
resultdiv.innerHTML="<span>sorry, we can't find what you want...</span>";
return;
}
for(var i=0;i<ID.length;i++){
var ele=document.createElement('div');
//ele.setAttribute('id','info'+list[i]);
ele.setAttribute('id','info');
ele.innerHTML="<span>loading..</span>";
resultdiv.appendChild(ele);
var result=document.getElementById('info');
//result.innerHTML="<font color=\"#0033CC\">" + data.title + "</font><br /><a href=\"" + data.url + "\">"
result.innerHTML="<a href=\"" + URL[i] + "\">"
+"<font color=\"#0033CC\">" + TITLE[i] + "</font></a><br /><font color=\"#008000\">" + CONTENT[i] + "</font><br /><br /><br />";
//searchService.getSearchResultById(list[i],fillDetailResult);
resultdiv.appendChild(result);
}[/code]
[code="java"]public SearchResults getSearchResults(SearchRequest request){
SearchResults results=new SearchResults();
Query query=makeQuery(request.getQuery());
List <String>id=new ArrayList<String>();//id+title+url+content
List<String>title=new ArrayList<String>();
List <String>url=new ArrayList<String>();
List <String>content=new ArrayList<String>();
try{
IndexSearcher searcher=new IndexSearcher(INDEX_STORE_PATH);
Hits hits=searcher.search(query);
int length=hits.length();
int startindex=request.getStartindex();
int endindex;
if(startindex>length)
{
//不可能
}
else{
endindex=startindex+9;
if(endindex>=length){
endindex=length;
}
for(int i=startindex;i<=endindex;i++){
Document doc =hits.doc(i-1);
String pageid=doc.get("pageid");
String pagetitle=doc.get("title");
String pageurl=doc.get("url");
String pagecontent=choose(doc.get("content"),request.getQuery());
id.add(pageid);
title.add(pagetitle);
url.add(pageurl);
content.add(pagecontent);
}
}
results.setId(id);
results.setTitle(title);
results.setUrl(url);
results.setContent(content);
int startpage;
int endpage;
if(startindex%100==0){
startpage=(startindex/100-1)*10+1;
}
else{
startpage=(startindex/100)*10+1;
}
int span;
int hasnext;
float temp=((float)(length-(startpage-1)*10))/10;
if(temp>10)
{
span=9;
hasnext=1;
}
else if(temp==10){
span=9;
hasnext=0;
}
else{
hasnext=0;
if((int)temp<temp){
span=(int)temp;
}
else{
span=(int)temp-1;
}
}
endpage=startpage+span;
results.setMinpage(startpage);
results.setMaxpage(endpage);
results.setHasnext(hasnext);
results.setStartindex(startindex);
}catch(Exception e){
e.printStackTrace();
}
return results;
}[/code]