更新:我使用 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 指的是一个 Action ,我将其定义为
<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";
}
其中结果定义为
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>
就我个人而言,我认为该操作没有返回结果,但我不知道该怎么做,有人可以告诉我如何解决问题吗?
最佳答案
修改struts.xml中action的结果如下:
<result type="json" name="SUCCESS"><param name="root">results</param></result>
我们指定的根参数是 Action 中变量的名称。
关于jquery - 关于 Struts 2 和 Struts-jQuery 自动完成器的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5787336/