struts 2.0.6 ajax

时间:2011-05-08 13:41:59

标签: struts2

有人可以给我一个使用ajax来填充使用struts 2.0.6的下拉列表的示例吗?

2 个答案:

答案 0 :(得分:0)

在客户端使用jquery:

$.getJSON("/getDropDownlistValues", function(result) {
    var options = $("#options");
    //don't forget error handling!
    $.each(result, function(item) {
        options.append($("<option />").val(item.value).text(item.text);
    });
});

在服务器端将此键值字符串写入Servlet响应类型。

有关详细信息,请参阅此帖:

Setting the content-type of a response in Struts2

答案 1 :(得分:0)

我想你想先填充第二个下拉列表。或者,如果您只想填充单个下拉列表,只需从视图中调用该操作即可。

这是前者的例子。你可以使用简单的ajax来实现这个目标。

例如,应根据选定的州填充城市下拉列表。有一个onchange事件在状态选择字段中调用此函数。

function getCityList(stateId) {
var http = getHTTPObject();
var url = 'CityList.action?stateId=' + stateId; 
http.open("GET", url, true);
http.onreadystatechange = function() {
    if (http.readyState == 4) {
        if (http.status == 200) {
            document.getElementById("city").innerHTML = http.responseText;
        }
    }
};
http.send(null);}

此函数调用操作并转动操作返回操作页面。 在这种情况下,整个操作页面都是responseText。那么您应该做的只是在该操作成功页面中只有第二个下拉列表。整个操作页面显示在

<div id="city"></div

然后您可以根据需要更改视图。