Первым шагом будет замена этих флажков кнопками отправки. Вы не можете позволить флажку отправлять форму без использования JavaScript onclick="submit()"
. При необходимости вы можете добавить немного CSS, чтобы эти кнопки выглядели как флажки, удалив / изменив фон / border / inset / font.
После изменения этого просто позвольте JSP сгенерировать желаемый HTML условно, используя теги JSTL <c:if>
и т. П.
1007 * Е.Г. *
<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>
с CSS что-то вроде
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;
}