2017-02-14 45 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

我正在爲