在自定义 JSTL 库中使用 spring 表单标签
Using spring form tag inside a custom JSTL library
我需要创建一个包含多个 spring 表单标签的自定义 JSTL 标签。生成以下内容的单个标记也具有自定义属性值。
<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>
这是可以实现的吗?
在 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"/>
我需要创建一个包含多个 spring 表单标签的自定义 JSTL 标签。生成以下内容的单个标记也具有自定义属性值。
<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>
这是可以实现的吗?
在 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"/>