Archive for März 10th, 2009

Das Problem mit Beispielen ist immer, daß es nur Beispiele sind und dadurch nicht alle Fälle abgedeckt werden, die im richtigen Einsatz nötig sind. In diesem Fall geht es darum, daß die Struts-Doku leider das Beispiel von Checkboxen gemeinsam mit Labels nicht im Repertoire hat.

Labels im Zusammenhang mit Checkboxen sind eine sehr hilfreiche Sache und tragen auch zur Usability bei.

Struts bietet mit html:multibox die Möglichkeit, Checkboxen zu gruppieren. Ein Aufruf aus dem JSP mit einem Iterator über eine gewisse Anzahl von Checkboxen sieht bspw. so aus:

1
2
3
4
5
6
7
8
<logic:iterate id="currentField" name="fields">
  <html:multibox
          property="fields"
          styleClass="checkbox">
    <bean:write name="currentField" property="id" />
  </html:multibox>
  <bean:write name="currentField" property="name" /><br />
</logic:iterate>

In Jim’s Blog habe ich ein gutes Beispiel gefunden, wie hier Labels ohne größeren Aufwand verwendet werden können:

1
2
3
4
5
6
7
8
9
10
11
12
13
<logic:iterate
          id="currentField"
          name="fields"
          indexId=”count”>
  <label for=”field.<bean:write name=’count’/>”>
  <html:multibox
          property=”fields”
          styleClass=”checkbox” 
          styleId=’<%=”field.”+count%>’>
    <bean:write name=”currentField” property=”id” />
  </html:multibox>
  <bean:write name=”currentField” property=”name” /><br />
</logic:iterate>

Im Quelltext sieht das ganze dann so aus:

1
2
3
4
5
6
7
8
<label for=”field.0″>
  <input type=”checkbox”
         name=”fields”
         value=”1″
         id=”field.0″
         class=”checkbox” />
  Ein Labelname<br />
</label>

Und schon hat man wieder mehr Usability erreicht.