关于 Struts 2 和 Struts-jQuery 自动完成器的问题

发布于 2024-11-03 05:41:43 字数 1518 浏览 1 评论 0原文

更新:我使用 firebug 得到结果,但结果没有显示在页面上?有人知道为什么吗?

结果是这样的:

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

(PS:我发布的 jason 插件已被弃用,这会引发错误。我现在切换到默认的 struts-jason-plugin)。

大家好,我在工作时遇到问题。 我正在使用所有依赖项的最新版本。 (支柱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"/> 

当前状态,当用户在自动完成器中键入时调用此操作,但不返回包含结果的下拉列表。

我的 Action 的执行函数定义如下:

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

其中 results 定义为

private List<String> results;

当前我只想返回变量 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>

我个人而言,我认为该操作没有返回结果,但我不知道该怎么做,谁能告诉我如何解决问题?

Update: I get the result using firebug, but the result doesn't show on the pages? Anyone knows why?

the result are like :

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

(PS: the jason plugin I posted is deprecated, which fires an error. I switched to the default struts-jason-plugin now).

Hi everyone, i got a problem on making the working.
I'm using the latest version of all the dependencies. (Struts 2.2.1)
I wanna do a live search from database using .
here's the code in my JSP file:

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

jsonlanguages refers to a action, which i defined it like

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

now the current state is that this action is called when user type in the autocompleter, but no dropdown list containing results are returned.

My Action's execute function is defined like this:

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

where results is defined as

private List<String> results;

currently i just wanna return the variable results.(leave db apart for now).
And my struts.xml file:

<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>

Personally, i think the action didn't return the result, but I have no idea how to do that, can anyone tell me how to fix things?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

睫毛上残留的泪 2024-11-10 05:41:43

修改struts.xml中action的结果如下:

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

我们指定的根参数是Action中变量的名称。

Modify the result of action in struts.xml as follows:

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

The root parameter that we specify is the name of the variable from Action.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文