Source code for /src/tags/form.tag
//======================================================================//
// Author: Mark Qian <markqian@hotmail.com> //
// WWW: http://www.coolshare.com //
// Copyright (c) 2006, Mark Qian //
// //
// You must contact Mark Qian to get a permission of use //
// in case you want to make any use of the codes except viewing it //
// on Mark's site. //
//======================================================================//
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ tag dynamic-attributes="attrMap" %>
<%@ attribute name="tile" required="true" %>
<c:set var="controller" value="${beanMapCommand.beanMap[tile]}"/>
<c:set var="model" value="${controller.model}"/>
<c:set var="tileInfo" value="${controller.tileInfo}"/>
<c:set var="numCol" value="${tileInfo.numCol }"/>
<fieldset>
<legend><c:out value="${controller.displayName}"/></legend>
<c:forEach items="${tileInfo.displayFields}" var="field" varStatus="status">
<c:set var="fieldName" value="${controller.name}.${field.name}"/>
<c:set var="fieldValue" value="${controller.valueMap[field.name]}"/>
<c:choose>
<c:when test="${field.type == 'text'}">
<label for="<c:out value="${fieldName }"/>" accesskey="f"><c:out value="${field.displayName}"/>:</label>
<input type="<c:out value="${field.type}"/>" name="<c:out value="${fieldName }"/>" id="<c:out value="${fieldName }"/>" size="<c:out value="${field.size}"/>" maxlength="<c:out value="${field.max}"/>" value="<c:out value="${fieldValue}"/>">
</c:when>
<c:when test="${field.type == 'select'}">
<label for="<c:out value="${fieldName }"/>" accesskey="f"><c:out value="${field.displayName}"/>:</label>
<select type="<c:out value="${field.type}"/>" name="<c:out value="${fieldName }"/>" id="<c:out value="${fieldName }"/>" maxlength=<c:out value="${field.max}"/>" value="<c:out value="${controller.valueMap[field.name]}"/>">
<c:forEach items="${beanMapCommand.beanMap[field.associateDate]}" var="item">
<c:choose>
<c:when test="${fieldValue == item.id}">
<option value="<c:out value="${item.id}"/>" selected><c:out value="${item.name}"/></option>
</c:when>
<c:otherwise>
<option value="<c:out value="${item.id}"/>"><c:out value="${item.name}"/></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
</c:when>
</c:choose>
<c:choose>
<c:when test="${status.index % numCol == 1}">
<br/>
</c:when>
</c:choose>
</c:forEach>
</fieldset>
<c:forEach items="${tileInfo.hiddenFields}" var="field">
<c:set var="fieldName" value="${controller.name}.${field.name}"/>
<c:choose>
<c:when test="${field.type == 'hidden'}">
<input type="<c:out value="${field.type}"/>" name="<c:out value="${fieldName }"/>" id="<c:out value="${fieldName }"/>" size="<c:out value="${field.size}"/>" maxlength="<c:out value="${field.max}"/>" value="<c:out value="${controller.valueMap[field.name]}"/>">
</c:when>
</c:choose>
</c:forEach>