Вопрос по Struts 2 и автозаполнению Struts-jQuery - PullRequest
2 голосов
/ 26 апреля 2011

Обновление: я получаю результат, используя firebug, но результат не отображается на страницах?Кто-нибудь знает, почему?

результат выглядит следующим образом:

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

(PS: плагин jason, который я разместил, устарел, что вызывает ошибку. Я переключился на стандартный Struts-Jason-плагинсейчас).

Привет всем, у меня проблема с работой.Я использую последнюю версию всех зависимостей.(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"/> 

Теперь текущее состояние таково, что это действие вызывается, когда пользовательский типв автозаполнении, но никакие выпадающие списки, содержащие результаты, не возвращаются.

Функция выполнения My Action определяется следующим образом:

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

, где результаты определяются как

private List<String> results;

В настоящее время я просто хочу вернуть переменные результаты. (пока оставьте дБ отдельно).И мой файл 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>

Лично я думаю, что действие не вернуло результат, но я понятия не имею, как это сделать, может кто-нибудь сказать мне, как все исправить?

1 Ответ

2 голосов
/ 26 апреля 2011

Измените результат действия в struts.xml следующим образом:

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

Указанный нами корневой параметр является именем переменной из Action.

...