最初のステップは、送信ボタンでこれらのチェックボックスを置き換えることです。 JavaScript onclick="submit()"
を使用せずにチェックボックスにフォームを送信させることはできません。必要に応じて、背景/枠線/挿入図/フォントを削除/変更して、チェックボックスのように見えるようにいくつかのCSSをスローすることができます。
これを変更した後、JSTL <c:if>
タグなどを使用して、条件付きで目的のHTMLを生成させます。
など。
input[type=submit].checkbox {
width: 14px;
height: 14px;
margin: 0;
padding: 0;
border: 1px gray solid;
background: none;
font: sans-serif 10px;
line-height: 10px;
}
のようなCSSの何かと
<input type="submit" class="checkbox" value="${param.showFoo ? 'x' : ' '}" /> toggle foo
<input type="hidden" name="showFoo" value="${not param.showFoo}" />
<c:if test="${param.showFoo}">
<label for="foo">Foo</label>
<input type="text" id="foo" name="foo" value="${fn:escapeXml(param.foo)}" />
</c:if>