我想从 struts2-jquery-plugin 中的 Autocompleter
选项创建一个自动完成组合框。有什么方法可以将输入字符串输入到 POJO 变量中吗?到目前为止,我已经看到将 SQL 列表加载到 JSON,然后给出建议。我想在一个人打字时获取字符串并运行 SQL 查询并返回 JSON 对象。到目前为止我已经完成了 JSON 部分,问题是从 < sj:autocompleter > 获取打字字符串,有一种方法要通过ajax获得这个,任何人都可以帮助我,这是我的代码
<s:url var="remoteurl" action="autoCompleterAction"/>
<sj:autocompleter
id="user"
href="%{remoteurl}"
delay="50"
loadMinimumCount="2"
/>
Struts.xml
<action name="autoCompleterAction" class="com.doerit.action.AjaxAutoComplete" method="setCombo">
<result name="success" type="json">
<param name="root">newnames</param>
</result>
</action>`
编辑1: 好吧,现在我写了一个ajax来将JSON对象获取到我的java类。上面我提到的任务已经完成,现在自动完成器没有触发struts事件来获取JSON数据。那么如何触发struts事件
这是我到目前为止的脚本;
<s:url var="remoteurl" action="autoCompleterAction"/>
<script type='text/javascript'>
// document.getElementById ("user_widget").addEventListener ("keyup", getname, false);
function getname() {
var text1=document.getElementById("user_widget").value.trim();
console.log(text1);
$.ajax({
url: "userinput.html",
type: "Post",
data:JSON.stringify({"name":text1}),
contentType: "application/json",
dataType:"json",
success:function (resp) {
console.log(resp);
},
})
}
</script>
<sj:autocompleter
id="user"
name="user"
href="%{remoteurl}"
delay="50"
loadMinimumCount="2"
onkeyup="getname()"
/>
最佳答案
我删除了该插件并使用 jquery 自动完成功能和完整的 ajax JSON 响应。现在它的工作。如果有人感兴趣,您可以从这里找到代码 Jquery Autocomplete
关于java - 从 Struts2 jquery Autocomplete 获取类型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47759533/