Для проблемы <select><option selected="selected">
я решил, что не буду возражать против многословности, если это будет только однократная многословность ... поэтому я создал тег-документ (.tagx) в /WEB-INF/tags/select.tagx
примерно так :
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<jsp:directive.attribute name="id" required="true" />
<jsp:directive.attribute name="name" required="true" />
<jsp:directive.attribute name="options" required="true" />
<jsp:directive.attribute name="selected" required="true" />
<select id="${id}" name="${name}">
<c:forEach var="opt" items="${options}">
<c:choose>
<c:when test="${opt == selected}"><option selected="selected">${opt}</option></c:when>
<c:otherwise><option>${opt}</option></c:otherwise>
</c:choose>
</c:forEach>
</select>
</jsp:root>
и используйте его так:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<html xmlns="http://www.w3.org/1999/xhtml" version="2.1"
...
xmlns:form="urn:jsptagdir:/WEB-INF/tags/">
...
<head>
...
</head>
<body>
<form method="POST" commandName="loginRequest" action="index_login.html">
<fieldset id="loginFieldSet">
...
<div>
<label for="day" path="day">Favourite day: </label>
<form:select id="day" name="day" selected="Saturday"
options="Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday" />
</div>
</fieldset>
<div>
<input type="submit" tabindex="3" />
<input type="reset" tabindex="4" />
</div>
</form>
</body>
</html>
krosenvold, я не согласен с тем, что это ужасно ... возможно, раздражает, но на самом деле я рад, что мне не пришлось писать какой-либо код для этого. После того как вы определили тег, ваши JSPX стали намного аккуратнее. Кроме того, я просто не думаю, что для этого есть короткий путь.