在自定义JSTL库中使用spring form标记

时间:2017-02-14 12:24:56

标签: spring spring-mvc jstl

我需要创建一个自定义JSTL标记,它包含多个spring form标记。单个标记,它也会生成具有自定义属性值的以下内容。

       <div class="col-md-4 col-sm-6 cal-xs-12">
            <div class="form-group">
                <label for="statusCode">Employee Status Code: </label>
                <form:input path="statusCode" class="form-control" id="statusCode" value="${statusCode}" />
            </div>
        </div>

这可以实现吗?

1 个答案:

答案 0 :(得分:1)

在WEB-INF / tags / form目录中创建一个formInputFiled.tag文件。

formInputFiled.tag:

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ attribute name="id" required="true" rtexprvalue="true" %>
<%@ attribute name="path" required="true" rtexprvalue="true" %>
<%@ attribute name="label" required="true" rtexprvalue="true" %>
<%@ attribute name="value" required="true" rtexprvalue="true" %>
<%@ attribute name="parentDivClass" required="true" rtexprvalue="true" %>
<%@ attribute name="divClass" required="true" rtexprvalue="true" %>
<%@ attribute name="inputClass" required="true" rtexprvalue="true" %>
<div class="${parentDivClass}">
    <div class="${divClass}">
        <label for="${id}">${label}</label>
        <form:input path="${path}" class="${inputClass}" id="${id}" value="${value}" />
    </div>
</div>

在jsp中添加taglib声明,如下所示:

<%@ taglib prefix="form" tagdir="/WEB-INF/tags/form" %>

最后使用如下的新标签:

<form:formInputFiled id="statusCode" path="statusCode" label="Employee Status Code:" value="${statusCode}" parentDivClass="col-md-4 col-sm-6 cal-xs-12" divClass="form-group" inputClass="form-control"/>