2017-02-14 49 views
0

我需要创建一个包装多个弹簧窗体标签的自定义JSTL标签。一个标签,它也会生成具有自定义属性值的以下内容。在自定义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> 

这是可以实现的吗?

回答

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"/> 
+0

就像一个魅力! ! – Saju

+0

我正在为