001/*
002 * Copyright 2002-2012 the original author or authors.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *      https://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016
017package org.springframework.web.servlet.tags.form;
018
019/**
020 * The {@code <radiobuttons>} tag renders multiple HTML 'input' tags with type 'radio'.
021 *
022 * <p>Rendered elements are marked as 'checked' if the configured
023 * {@link #setItems(Object) value} matches the bound value.
024 *
025 * <p>
026 * <table>
027 * <caption>Attribute Summary</caption>
028 * <thead>
029 * <tr>
030 * <th class="colFirst">Attribute</th>
031 * <th class="colOne">Required?</th>
032 * <th class="colOne">Runtime Expression?</th>
033 * <th class="colLast">Description</th>
034 * </tr>
035 * </thead>
036 * <tbody>
037 * <tr class="altColor">
038 * <td><p>accesskey</p></td>
039 * <td><p>false</p></td>
040 * <td><p>true</p></td>
041 * <td><p>HTML Standard Attribute</p></td>
042 * </tr>
043 * <tr class="rowColor">
044 * <td><p>cssClass</p></td>
045 * <td><p>false</p></td>
046 * <td><p>true</p></td>
047 * <td><p>HTML Optional Attribute</p></td>
048 * </tr>
049 * <tr class="altColor">
050 * <td><p>cssErrorClass</p></td>
051 * <td><p>false</p></td>
052 * <td><p>true</p></td>
053 * <td><p>HTML Optional Attribute. Used when the bound field has
054 * errors.</p></td>
055 * </tr>
056 * <tr class="rowColor">
057 * <td><p>cssStyle</p></td>
058 * <td><p>false</p></td>
059 * <td><p>true</p></td>
060 * <td><p>HTML Optional Attribute</p></td>
061 * </tr>
062 * <tr class="altColor">
063 * <td><p>delimiter</p></td>
064 * <td><p>false</p></td>
065 * <td><p>true</p></td>
066 * <td><p>Delimiter to use between each 'input' tag with type 'radio'.
067 * There is no delimiter by default.</p></td>
068 * </tr>
069 * <tr class="rowColor">
070 * <td><p>dir</p></td>
071 * <td><p>false</p></td>
072 * <td><p>true</p></td>
073 * <td><p>HTML Standard Attribute</p></td>
074 * </tr>
075 * <tr class="altColor">
076 * <td><p>disabled</p></td>
077 * <td><p>false</p></td>
078 * <td><p>true</p></td>
079 * <td><p>HTML Optional Attribute. Setting the value of this attribute to
080 * 'true' will disable the HTML element.</p></td>
081 * </tr>
082 * <tr class="rowColor">
083 * <td><p>element</p></td>
084 * <td><p>false</p></td>
085 * <td><p>true</p></td>
086 * <td><p>Specifies the HTML element that is used to enclose each 'input' tag
087 * with type 'radio'. Defaults to 'span'.</p></td>
088 * </tr>
089 * <tr class="altColor">
090 * <td><p>htmlEscape</p></td>
091 * <td><p>false</p></td>
092 * <td><p>true</p></td>
093 * <td><p>Enable/disable HTML escaping of rendered values.</p></td>
094 * </tr>
095 * <tr class="rowColor">
096 * <td><p>id</p></td>
097 * <td><p>false</p></td>
098 * <td><p>true</p></td>
099 * <td><p>HTML Standard Attribute</p></td>
100 * </tr>
101 * <tr class="altColor">
102 * <td><p>itemLabel</p></td>
103 * <td><p>false</p></td>
104 * <td><p>true</p></td>
105 * <td><p>Value to be displayed as part of the 'input' tags with type
106 * 'radio'</p></td>
107 * </tr>
108 * <tr class="rowColor">
109 * <td><p>items</p></td>
110 * <td><p>true</p></td>
111 * <td><p>true</p></td>
112 * <td><p>The Collection, Map or array of objects used to generate the 'input'
113 * tags with type 'radio'</p></td>
114 * </tr>
115 * <tr class="altColor">
116 * <td><p>itemValue</p></td>
117 * <td><p>false</p></td>
118 * <td><p>true</p></td>
119 * <td><p>Name of the property mapped to 'value' attribute of the 'input' tags
120 * with type 'radio'</p></td>
121 * </tr>
122 * <tr class="rowColor">
123 * <td><p>lang</p></td>
124 * <td><p>false</p></td>
125 * <td><p>true</p></td>
126 * <td><p>HTML Standard Attribute</p></td>
127 * </tr>
128 * <tr class="altColor">
129 * <td><p>onblur</p></td>
130 * <td><p>false</p></td>
131 * <td><p>true</p></td>
132 * <td><p>HTML Event Attribute</p></td>
133 * </tr>
134 * <tr class="rowColor">
135 * <td><p>onchange</p></td>
136 * <td><p>false</p></td>
137 * <td><p>true</p></td>
138 * <td><p>HTML Event Attribute</p></td>
139 * </tr>
140 * <tr class="altColor">
141 * <td><p>onclick</p></td>
142 * <td><p>false</p></td>
143 * <td><p>true</p></td>
144 * <td><p>HTML Event Attribute</p></td>
145 * </tr>
146 * <tr class="rowColor">
147 * <td><p>ondblclick</p></td>
148 * <td><p>false</p></td>
149 * <td><p>true</p></td>
150 * <td><p>HTML Event Attribute</p></td>
151 * </tr>
152 * <tr class="altColor">
153 * <td><p>onfocus</p></td>
154 * <td><p>false</p></td>
155 * <td><p>true</p></td>
156 * <td><p>HTML Event Attribute</p></td>
157 * </tr>
158 * <tr class="rowColor">
159 * <td><p>onkeydown</p></td>
160 * <td><p>false</p></td>
161 * <td><p>true</p></td>
162 * <td><p>HTML Event Attribute</p></td>
163 * </tr>
164 * <tr class="altColor">
165 * <td><p>onkeypress</p></td>
166 * <td><p>false</p></td>
167 * <td><p>true</p></td>
168 * <td><p>HTML Event Attribute</p></td>
169 * </tr>
170 * <tr class="rowColor">
171 * <td><p>onkeyup</p></td>
172 * <td><p>false</p></td>
173 * <td><p>true</p></td>
174 * <td><p>HTML Event Attribute</p></td>
175 * </tr>
176 * <tr class="altColor">
177 * <td><p>onmousedown</p></td>
178 * <td><p>false</p></td>
179 * <td><p>true</p></td>
180 * <td><p>HTML Event Attribute</p></td>
181 * </tr>
182 * <tr class="rowColor">
183 * <td><p>onmousemove</p></td>
184 * <td><p>false</p></td>
185 * <td><p>true</p></td>
186 * <td><p>HTML Event Attribute</p></td>
187 * </tr>
188 * <tr class="altColor">
189 * <td><p>onmouseout</p></td>
190 * <td><p>false</p></td>
191 * <td><p>true</p></td>
192 * <td><p>HTML Event Attribute</p></td>
193 * </tr>
194 * <tr class="rowColor">
195 * <td><p>onmouseover</p></td>
196 * <td><p>false</p></td>
197 * <td><p>true</p></td>
198 * <td><p>HTML Event Attribute</p></td>
199 * </tr>
200 * <tr class="altColor">
201 * <td><p>onmouseup</p></td>
202 * <td><p>false</p></td>
203 * <td><p>true</p></td>
204 * <td><p>HTML Event Attribute</p></td>
205 * </tr>
206 * <tr class="rowColor">
207 * <td><p>path</p></td>
208 * <td><p>true</p></td>
209 * <td><p>true</p></td>
210 * <td><p>Path to property for data binding</p></td>
211 * </tr>
212 * <tr class="altColor">
213 * <td><p>tabindex</p></td>
214 * <td><p>false</p></td>
215 * <td><p>true</p></td>
216 * <td><p>HTML Standard Attribute</p></td>
217 * </tr>
218 * <tr class="rowColor">
219 * <td><p>title</p></td>
220 * <td><p>false</p></td>
221 * <td><p>true</p></td>
222 * <td><p>HTML Standard Attribute</p></td>
223 * </tr>
224 * </tbody>
225 * </table>
226 *
227 * @author Thomas Risberg
228 * @author Juergen Hoeller
229 * @since 2.5
230 */
231@SuppressWarnings("serial")
232public class RadioButtonsTag extends AbstractMultiCheckedElementTag {
233
234        @Override
235        protected String getInputType() {
236                return "radio";
237        }
238
239}