2011-04-26 66 views
2

更新:我使用螢火蟲得到結果,但結果不顯示在網頁上?有人知道爲什麼關於Struts 2和Struts-jQuery Autocompleter的問題

則其結果是這樣的:

{"results":["hello","bye"]} 

(PS:傑森插件我張貼已被棄用,這觸發一個錯誤我現在切換到默認的struts-傑森的插件。)。

大家好,我在工作中遇到了問題。 我正在使用所有依賴項的最新版本。 (Struts 2.2.1) 我想從數據庫使用實時搜索。 這裏是我的JSP文件中的代碼:一個動作

<sj:autocompleter name="movieName" id="movieName" 
           href="%{jsonlanguages}" 
           delay="50" 
           loadMinimumCount="2" 
           ></sj:autocompleter> 

jsonlanguages指,這是我定義它像

<s:url id="jsonlanguages" action="movieLiveSearch"/> 

現在的當前狀態,這一行動被稱爲在autocompleter當用戶類型,但不會返回包含結果的下拉列表。

我Action的execute函數的定義是這樣的:

public String display() throws IOException { 
    System.out.println("execute movie live search"); 
    results.add("hello"); 
    results.add("goodbye");  
    return "SUCCESS"; 
} 

,其中結果

private List<String> results; 

目前我只是想返回不同的結果被定義(離開DB除了現在)。 而我的struts.xml文件:

<result-types> 
    <result-type name="json" class="com.googlecode.jsonplugin.JSONResult"/> 
</result-types> 

<action name="movieLiveSearch" class="proj.MovieManagement.controller.MovieLiveSearchAction" method="display"> 
<result type="json" name="SUCCESS">admin.jsp</result> 
</action> 

就個人而言,我認爲動作沒有返回結果,但我不知道該怎麼做,誰能告訴我怎麼解決的事情?

回答

2

修改struts.xml中作用的結果如下:

<result type="json" name="SUCCESS"><param name="root">results</param></result> 

我們指定的根參數是從行動變量的名稱。

+0

確切!我解決了這個問題,並想在這裏寫下答案,但結果我得到了答案,LOL。 – 2011-04-26 10:11:46

+0

哦,忘了說感謝UUUUUUUU – 2011-04-26 10:12:03

+0

歡迎謝爾登:) – Karthik 2011-04-26 10:17:06