Last active
December 14, 2015 15:09
-
-
Save WarFox/5105967 to your computer and use it in GitHub Desktop.
Spring Roo text field input.tagx with adjustable width attribute
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<jsp:root xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:fn="http://java.sun.com/jsp/jstl/functions" xmlns:spring="http://www.springframework.org/tags" xmlns:form="http://www.springframework.org/tags/form" xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"> | |
<jsp:output omit-xml-declaration="yes" /> | |
<jsp:directive.attribute name="id" type="java.lang.String" required="true" rtexprvalue="true" description="The identifier for this tag (do not change!)" /> | |
<jsp:directive.attribute name="field" type="java.lang.String" required="true" rtexprvalue="true" description="The field exposed from the form backing object" /> | |
<jsp:directive.attribute name="label" type="java.lang.String" required="false" rtexprvalue="true" description="The label used for this field, will default to a message bundle if not supplied" /> | |
<jsp:directive.attribute name="labelCode" type="java.lang.String" required="false" rtexprvalue="true" description="Key for label message bundle if label is not supplied" /> | |
<jsp:directive.attribute name="required" type="java.lang.Boolean" required="false" rtexprvalue="true" description="Indicates if this field is required (default false)" /> | |
<jsp:directive.attribute name="disabled" type="java.lang.Boolean" required="false" rtexprvalue="true" description="Specify if this field should be enabled" /> | |
<jsp:directive.attribute name="validationRegex" type="java.lang.String" required="false" rtexprvalue="true" description="Specify regular expression to be used for the validation of the input contents" /> | |
<jsp:directive.attribute name="validationMessageCode" type="java.lang.String" required="false" rtexprvalue="true" description="Specify the message (message property code) to be displayed if the regular expression validation fails" /> | |
<jsp:directive.attribute name="validationMessage" type="java.lang.String" required="false" rtexprvalue="true" description="Specify the message to be displayed if the regular expression validation fails" /> | |
<jsp:directive.attribute name="min" type="java.lang.String" required="false" rtexprvalue="true" description="Specify the minimum length of the input contents" /> | |
<jsp:directive.attribute name="max" type="java.lang.String" required="false" rtexprvalue="true" description="Specify the maximum length of the input contents" /> | |
<jsp:directive.attribute name="decimalMin" type="java.lang.String" required="false" rtexprvalue="true" description="Specify the minimum size of the input contents" /> | |
<jsp:directive.attribute name="decimalMax" type="java.lang.String" required="false" rtexprvalue="true" description="Specify the maximum size of the input contents" /> | |
<jsp:directive.attribute name="disableFormBinding" type="java.lang.Boolean" required="false" rtexprvalue="true" description="Set to true to disable Spring form binding" /> | |
<jsp:directive.attribute name="type" type="java.lang.String" required="false" rtexprvalue="true" description="Set field type (default 'text', or 'password')" /> | |
<jsp:directive.attribute name="render" type="java.lang.Boolean" required="false" rtexprvalue="true" description="Indicate if the contents of this tag and all enclosed tags should be rendered (default 'true')" /> | |
<jsp:directive.attribute name="width" type="java.lang.String" required="false" rtexprvalue="true" description="Width of the input field" /> | |
<jsp:directive.attribute name="z" type="java.lang.String" required="false" description="Used for checking if element has been modified (to recalculate simply provide empty string value)" /> | |
<c:if test="${empty render or render}"> | |
<c:if test="${empty type}"> | |
<c:set value="text" var="type" /> | |
</c:if> | |
<c:if test="${empty disabled}"> | |
<c:set value="false" var="disabled" /> | |
</c:if> | |
<c:if test="${empty label}"> | |
<c:if test="${empty labelCode}"> | |
<c:set var="labelCode" value="${fn:substringAfter(id,'_')}" /> | |
</c:if> | |
<spring:message code="label_${fn:toLowerCase(labelCode)}" var="label" htmlEscape="false" /> | |
</c:if> | |
<c:if test="${empty validationMessage}"> | |
<c:choose> | |
<c:when test="${empty validationMessageCode}"> | |
<spring:message arguments="${fn:escapeXml(label)}" code="field_invalid" var="field_invalid" htmlEscape="false" /> | |
</c:when> | |
<c:otherwise> | |
<spring:message arguments="${fn:escapeXml(label)}" code="${validationMessageCode}" var="field_invalid" htmlEscape="false" /> | |
</c:otherwise> | |
</c:choose> | |
</c:if> | |
<c:if test="${empty required}"> | |
<c:set value="false" var="required" /> | |
</c:if> | |
<c:set var="sec_field"> | |
<spring:escapeBody javaScriptEscape="true" >${field}</spring:escapeBody> | |
</c:set> | |
<div id="_${fn:escapeXml(id)}_id"> | |
<label for="_${sec_field}_id"> | |
<c:out value="${fn:escapeXml(label)}" />: | |
</label> | |
<c:choose> | |
<c:when test="${disableFormBinding}"> | |
<input id="_${sec_field}_id" name="${sec_field}" type="${fn:escapeXml(type)}" /> | |
</c:when> | |
<c:otherwise> | |
<c:choose> | |
<c:when test="${type eq 'password'}"> | |
<form:password id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" /> | |
</c:when> | |
<c:otherwise> | |
<form:input id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" /> | |
</c:otherwise> | |
</c:choose> | |
<br /> | |
<form:errors cssClass="errors" id="_${sec_field}_error_id" path="${sec_field}" /> | |
</c:otherwise> | |
</c:choose> | |
<c:choose> | |
<c:when test="${required}"> | |
<spring:message code="field_required" var="field_required" htmlEscape="false" /> | |
<spring:message argumentSeparator="," arguments="${label},(${field_required})" code="field_simple_validation" var="field_validation" htmlEscape="false" /> | |
</c:when> | |
<c:otherwise> | |
<spring:message argumentSeparator="," arguments="${label}, " code="field_simple_validation" var="field_validation" htmlEscape="false" /> | |
</c:otherwise> | |
</c:choose> | |
<c:set var="sec_field_validation"> | |
<spring:escapeBody javaScriptEscape="true">${field_validation}</spring:escapeBody> | |
</c:set> | |
<c:set var="sec_field_invalid"> | |
<spring:escapeBody javaScriptEscape="true" htmlEscape="true">${field_invalid}</spring:escapeBody> | |
</c:set> | |
<c:set var="sec_field_required"> | |
<spring:escapeBody javaScriptEscape="true">${field_required}</spring:escapeBody> | |
</c:set> | |
<c:set var="sec_validation_regex" value="" /> | |
<c:if test="${!empty validationRegex}"> | |
<c:set var="sec_validation_regex" value="regExp : '${validationRegex}', " /> | |
</c:if> | |
<script type="text/javascript"> | |
Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.ValidationTextBox', widgetAttrs : {promptMessage: '${sec_field_validation}', invalidMessage: '${sec_field_invalid}', required : ${required}, <c:if test="${not empty width}">style: 'width: ${width}',</c:if> ${sec_validation_regex} missingMessage : '${sec_field_required}'}})); | |
</script> | |
</div> | |
<br /> | |
</c:if> | |
</jsp:root> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment