2013-02-18 51 views
0

我在我的webapp中使用窗体的春天形式标签。现在我看到春季自动生成所有输入的ID,选择元素。 我在单独的选项卡中有几种形式,它们可能具有相同名称的输入(例如user_category in)。 Spring使用输入元素的名称作为标记的ID。这成为一个问题,因为我有几个输入具有相同的名称在同一页的不同形式。我结束了多个具有相同ID的选择元素。当我使用jquery-ui-multiselect插件来装饰我的选择框时,问题变得更糟。如果在同一页面上有多个选择器,并且具有相同的ID,则更改其中一个选择器的选择会影响另一个选择器。春天防止形式标签自动ID

我发现的一个解决方法是明确地给我所有的选择框唯一的ID。但我认为一个更清晰的方法是防止spring在form标签上生成id。有没有办法做到这一点?

回答

0

春季<form:...>标签允许你指定一个id属性,例如:

<form:select id="select1"...> 

所以,你可以指定自己的id秒。

+0

谢谢。是的,这是我提到的解决方法“明确地给我所有的选择框唯一ID”。我想在春天禁用自动ID,而不提供10个独特的ID。任何我们可以做到的方式? – 2013-02-18 23:29:00

0

看来,有只有一个简单而防止“ID” -attribute(至少在Spring 4.1.4)的写作明显的方式 - 就是设置一个空ID:

<form:input id="" .../> 

然后AbstractDataBoundFormElementTag#resolveId()将返回null并且AbstractFormTag#writeOptionalAttribute将跳过它。