JSP 使用Struts 2的 AJAX jQuery插件

pkln4tw6  于 2023-09-28  发布在  jQuery
关注(0)|答案(1)|浏览(129)

我正在使用 AJAX jQuery插件jar与Struts 2。我使用 AJAX 选择标签填充列表,但列表没有填充。如果我使用<sj:autocompleter>标签,它工作正常。

这是我的代码:

<sj:select name="countryId" list="countryList" listKey="id" listValue="name" 
                headerKey="" headerValue="--Select Country--" 
                onchange="document.forms[0].action='city_countryChange'; document.forms[0].submit(); return true;" 
                required="required"></sj:select>

<sj:select>标签有什么问题?

cedebl8k

cedebl8k1#

当你使用sj:autocompleter时,你说它工作正常,你已经使用了href属性。sj:selecthref属性也可用于填充由sj:select呈现的HTML select标记。每个标记的属性集略有不同,href属性也与HTML select标记中的属性不同。
href属性是可用的,并由两个标记使用,您应该提供由填充sj:select标记的操作返回的JSON结果。但是如果你使用autocomplete=true属性,那么sj:select的行为就像sj:autocompleter一样,并生成input标记而不是select标记。您应该定义输出所需的HTML标记。
使用属性可能会从根本上改变呈现的HTML。如果你使用list属性和sj:select标签,而不使用autocomplete属性,那么当执行结果时,简单的selectoptions将被呈现。就像使用序数s:select一样。因此,您应该为list属性值提供getter,如

public List<Country> getCountryList() {
  return countryList;
}

Country bean应该包含idname属性,因此它也可以被OGNL访问。

相关问题