带有 Struts 2 的 Ajax jQuery 插件

问题描述 投票:0回答:1

我正在使用带有 Struts 2 的 Ajax jQuery 插件 jar。我已经使用 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>
标签有什么问题吗?

java jsp jquery-plugins struts2 struts2-jquery
1个回答
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 应包含
id
name
属性,因此 OGNL 也可以访问它。

© www.soinside.com 2019 - 2024. All rights reserved.