【问题标题】:Ajax jQuery plugin with Struts 2带有 Struts 2 的 Ajax jQuery 插件
【发布时间】:2013-11-08 07:11:31
【问题描述】:

我在 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>

&lt;sj:select&gt; 标签有什么问题?

【问题讨论】:

  • 显示你的动作代码和struts结果配置(xml/annotation)

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


【解决方案1】:

当您使用sj:autocompleter,并且您说它工作正常时,您使用了href 属性。 sj:select href 属性也可用于填充由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 属性,则在执行结果时将呈现带有options 的简单select。就像使用序数 s:select 一样。因此,您应该为 list 属性值提供 getter,例如

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

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

【讨论】:

  • 好的,但我无法获得@Actions 注释,不知道为什么。问题是我正在使用带有 Sturts2-core 2.3.14 的 JSON-plugin 2.3.1 jar 文件。
  • 你不应该使用不同版本的框架库。
  • 那么我应该在 Struts2-core-2.3.14 jar 中使用哪个版本的插件??
  • struts2-json-plugin-2.3.14.jar
  • Struts2-json-plugin-2.3.13 jar 版本也使用,但在@Act​​ion 注释中只有 INPUT、OUTPUT 和故障属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多