web-dev-qa-db-ja.com

form:select / form:optionのitemLabelで複数のパラメータを使用することは可能ですか?

Springを使用しています。 form:selectを含むJSPがあり、ユーザーのリストが表示されています。この状況では、ユーザー名またはIDはユーザーにとってあまり意味がないため、名、姓を表示する必要があります。

私はもう試した:

<form:select id="userSelect" name="userId" path="user.id">
    <option value="">Select to Edit</option>
    <form:options items="${user.userList}" itemValue="id" itemLabel="lastname firstname" />
</form:select>

しかし、それは私に大きなエラーを与えます。 itemLabelsに姓、名を表示させるにはどうすればよいですか?

18
kasdega

そうは思いません。オブジェクトにgetFullName() getterを入れて、姓と名の連結を返すか、オプションを1つずつループで表示します。

_<form:select id="userSelect" name="userId" path="user.id">
    <option value="">Select to Edit</option>
    <c:forEach var="theUser" items="${user.userList}">
        <form:option value="${theUser.id}"><c:out value="${theUser.lastname} ${theUser.firstname}"/></form:option>
    </c:forEach>
</form:select>
_

user.getFullName()によって実行される連結の場合:

_<form:select path="user"
   items="${user.userList}"
   itemValue="id"
   itemLabel="fullName">
</form:select>
_
40
JB Nizet