我希望根据我在S2 textfiled中输入的字符串获取从DB到JSP的所有记录。在输入textfiled时,我希望将所有记录作为JSP中的表格。
实施例
在textfiled中,当我输入'a'时,我想显示所有与输入字符'a'匹配的记录。假设在我的数据库中,我有一些值'name'为'abc','def','bac','dea'等。然后我想从DB中获取列值为'abc','bac'和'dea'的所有行。 非常像HTML中的onchange事件。在这里,我可以查询“从表名中选择名称,例如%a%”。
所以在JSP中,
No Name Address
-------------------------
1 abc addrs1
2 bac addr2
3 dea addr3
当我尝试
时<s:textfield label="Search" name="keyword" id="keyword" onchange="search()"/>
它不起作用。
我尝试使用
<s:textfield label="Search" name="keyword" id="keyword" onkeypress="search()"/>
它也完全不起作用。这里onkeypress事件机制工作。输入'ab'后,只有值'a'将被发送到动作类。好。还有其他办法吗?
$.getJSON('/test/giveMeJsonData.action ',{cartId: cartId},function(json){
itemsHtml = "<table>";
for (i in json.items) {
itemsHtml += "<tr>";
itemsHtml += "<td>" + json.items[i].id + "</td>";
itemsHtml += "<td>" + json.items[i].name + "</td>";
itemsHtml += "<td>" + json.items[i].address + "</td>";
itemsHtml += "</tr>";
}
itemsHtml += "</table>";
$('#cartItems').html(itemsHtml);
});
答案 0 :(得分:4)
尝试@RequestMapping(value="/",method=RequestMethod.GET, params="ref")
public ModelAndView doGreatThings(
@RequestParam(value="ref") String identifier,
ServletRequest request,
ServletResponse response){
// create the cookie
// redirect to home page
}
,它会在执行按键操作时调用JavaScript:
onkeyup
<s:textfield label="Search" name="keyword" id="keyword" onkeyup="search()"/>
&#13;
function myFunction() {
var x = document.getElementById("searchText").value;
alert(x);
}
&#13;
答案 1 :(得分:0)
您正在谈论的小部件称为自动完成程序(即,猜测是什么,通过键盘事件触发自动完成的文本字段)。
您可以使用javascript小部件(例如jQuery autocompleter)轻松实现此目的,而在Struts2中,您也可以选择struts2-jquery-plugin's Autompleter。
在Action中,返回List或数组:
public String[] getMyList() {
return myList;
}
在JSP中,像这样使用它:
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
<head>
<sj:head jqueryui="true"/>
</head>
<body>
<sj:autocompleter list="%{myList}"/>
</body>
</html>