spring:transform
| spring:transform (since 1.0) | |
| General information | |
| The spring:transformtag provides you with support for
						transforming properties not contained by a command using
						PropertyEditors associated with the command. Suppose you
						have 10 dates you want to let the user choose from, you need to
						transform the date in the same way you would do, when using
						thespring:bindtag. Thespring:transformtag provides this support.Note: this tag can only be used inside a spring:bindtag! | |
| Attributes | |
| value | |
| The value to transform. This is the actual object you want to have
						transformed (for instance a Date). Using the PropertyEditor
						that is currently in use by the spring:bindtag. | |
| required: yes | |
| el-support: yes | |
| var | |
| The string to use when binding the result to the page, request, session or application scope. If not specified, the result gets outputted to the writer (directly to the JSP i.e.). | |
| required: no | |
| el-support: yes | |
| scope | |
| The scope to use when exported the result to a variable.
						This attribute is only used when varis also set.
						Possible values arepage,request,sessionandapplication. | |
| required: no | |
| el-support: yes | |
| htmlEscape | |
| Set HTML escaping for this tag, as boolean value. Overrides the default HTML escaping setting for the current page. | |
| required: no | |
| el-support: yes | |
| Variables | |
| If the var argument is specified, the resolved message will be exported to the scope specified by the scope argument. | |
| Also have a look at | |
| the spring:bindtag,
					to see in which tag you need to nest this tag | |
| A possible usecase | |
| Consider the following: 
 
<form method="post">
    ## bind on the contractType property
    <spring:bind path="contract.contractType">
        ## render the select box
        <select name="<c:out value="${status.expression}"/>">
            ## iterate over all the contract types available
            <c:forEach items="${contractTypes}" var="type">
                ## transform the contract type using the property editor 
                ## used to create the BindStatus object
                <spring:transform value="${type}" var="typeString"/>
                <option 
                    ## output the value (databinding will be able to use this!)
                    value="<c:out value="${typeString}"/>
                    ## see if it is selected
                    <c:if test="${status.value == typeString}"/> selected</c:if>>
                    ## you could also use the typeString var for i18n (spring:message)
                    <c:out value="${typeString}"/>
                </option>
            </c:forEach>
        </select>
    </spring:bind>
</form>	
 | |