双选的Struts-JQuery插件问题

时间:2010-09-26 14:02:27

标签: jquery struts2

我有以下代码使用Struts2和jquery插件进行双重选择:

JSP:

<s:url id="ajaxActionUrl" value="/getStateCodesJson"/>
<sj:select name="stateCodeId"
           id="stateCodeId"
           label="State"
           href="%{ajaxActionUrl}"
           onChangeTopics="reloadSecondSelect"
           list="stateCodeList"
           listKey="id"
           listValue="label"
           emptyOption="true"
           headerKey="-1"
           headerValue="Please Select A State"/>

<sj:select name="subCodeId"
           id="subCodeId"
           label="Sub Feature"
           href="%{ajaxActionUrl}"
           formIds="mapGeneratorForm"
           reloadTopics="reloadSecondSelect"
           list="subCodeList"
           listKey="id"
           listValue="subCodeDescription"
           emptyOption="true"
           headerKey="-1"
           headerValue="Please Select A Code"/>

动作:

@Action(value = "getStateCodesJson", results = {
        @Result(name = "success", type = "json")
})
public String getStateCodesJson() throws Exception {
    stateCodeList = stateCodeService.getAll();
    Collections.sort(stateCodeList);

    if (stateCodeId != null) {
        StateCode stateCode = stateCodeService.getById(stateCodeId);
        subCodeList = subCodeService.getByStateCode(stateCode);
    }

    return SUCCESS;
}

当jsp首次加载时,getStateCodesJson()方法被称为 3 次。但是,在进行更改后,不会再次调用该操作,因此第二个永远不会被填充。

有人可以帮忙吗?

杰森

1 个答案:

答案 0 :(得分:1)

处理动作本身的第二个列表的空值,而不是将其传递给DAO。

否则你可以使用struts2双选标签。

Here就是一个很好的例子。