Struts 2的Ajax jQuery插件

时间:2013-11-08 07:11:32

标签: java jsp jquery-plugins struts2 struts2-jquery

我正在使用带有Struts2的Ajax jQuery插件jar。我使用Ajax select标签填充列表但列表没有填充。如果我使用<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>代码有什么问题?

1 个答案:

答案 0 :(得分:0)

当您使用sj:autocompleter并且您说它工作正常时,您使用了href属性。 sj:select href属性也可用于填充由select呈现的HTML sj:select标记。每个标记的属性集略有不同,href属性也与HTML select标记不同。

两个标记都可以使用href属性,您应该提供填充sj:select标记的操作返回的JSON结果。但是,如果您使用autocomplete=true属性,则sj:select的行为与sj:autocompleter相似,并生成input代码而不是select代码。您应该定义输出所需的HTML标记。

使用属性可以基本更改呈现的HTML。如果您将list属性与sj:select标记一起使用,并且不使用autocomplete属性,则在执行结果时将呈现带select的简单options。它与使用序数s:select相同。因此,您应该为list属性值提供getter,如

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

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