Spring Form Tag & JSTL (JSP Standard Tag Library)

Saat ini kebetulan lagi ngerjain project web di suatu tempat, kebetulan untuk viewnya menggunakan JSTL dan di dalamnya menggunakan tag formnya spring. Padahal dulu sebelumnya sering menggunakan velocity, walaupun tag velocitynya cuman seuprit yang yang di pake :hammer:.

Jadi JSTL adalah JSP Standard Tag Library, menyediakan fungsionalitas umum yang dibutuhkan untuk membangun  suatu aplikasi web. Tag - tagnya menyediakan dukungan untuk presentasi logika, format, dukungan XML dan untuk akses database (katanya sih). Dan katanya lagi JSTL menyediakan dukungan untuk i18n (dalemhati i18n apaan y ?? :hammer:), nah dukungan untuk i18n ini sangat mirip dengan bean si struts.

Di versi 2.0, spring menyediakan satu set data yang komperensif untuk menangani elemen form pada saat menggunakan JSP dan Spring MVC. Setiap tagnya menyediakan dukungan untuk himpunan attribut dari HTML.

Berikut di bawah ini beberapa tag yang sering saya pake buat coding, tapi sebelumnya untuk menggunakannya anda perlu mendownload librari Spring dan JSTL, setelah itu tambahkan baris ini di file JSP anda :

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %> 
<%@ taglib uri="
http://www.springframework.org/tags/form" prefix="form" %>

Berikut spring form tag yang sering saya pake :

* Form & Input Tag
<form:form commandName="item">
<table>
<tr>
<td>Nama : </td>
<td><form:input path="name" /></td>
</tr>
<tr>
<td colspan="3">
<input type="submit" value="Simpan" />
</td>
</tr>
</table>
</form:form>
* Check Box Tag
<form:checkbox path="flag"/>
* Radio Button Tag
Ya : <form:radiobutton path="flag" value="Y"/>
Tidak : <form:radiobutton path="flag" value="T"/>
* Password Tag
<form:password path="password" />
* Select & Option Tag
<form:select path="provinsi">
<form:option value="Jawa Barat"/>
<form:option value="DKI Jakarta"/>
</form:select>
* Options Tag
<form:select path="country">
<form:option value="-" label="--Please Select"/>
<form:options items="${countryList}" itemValue="code" itemLabel="name"/>
</form:select>
* TextArea Tag
<form:textarea path="notes" rows="3" cols="20" />
* Hidden Tag
<form:hidden path="id" />
* Errors Tag
Di classnya kayak begini :
public class UserValidator implements Validator {

public boolean supports(Class candidate) {
return User.class.isAssignableFrom(candidate);
}

public void validate(Object obj, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName", "required", "Field is required.");
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "lastName", "required", "Field is required.");
}
}
Kemudian di jsp kayak begini :
<form:form>
<table>
<tr>
<td>Nama :</td>
<td><form:input path="name" /></td>
<%?- Menampilkan error dari field Nama --%>
<td><form:errors path="name" /></td>
</tr>
<tr>
<td colspan="3">
<input type="submit" value="Simpan" />
</td>
</tr>
</table>
</form:form>

Nah di atas merupakan Spring form tag, sekarang kita lanjut ke tag JSTL yang sering saya pake :

* Loopping Data
<c:forEach items="${items}" var="items"  varStatus="var">
<tr>
<td>${var.count}</td>
<td>${items.name}</td>
<td>${items.description}</td>
</tr>
</c:forEach>
* Logikal Expression
<c:if test="${items.activeFlag == 'Y'}">
Role Aktif
</c:if>

Nah tag - tag di atas adalah tag yang sering saya pake secara garis besar, sebenernya masih ada lagi, tapi saya tampilkan yang umum di pakai saja.

Dan akhirnya selesai juga artikel ini. Semoga bermanfaat bagi para pembaca yang membaca article ini, mohon maaf bila ada yang kurang atau ada yang salah dengan artikel ini.

Terima Kasih

Aditya Lukman Afandi

 

blog comments powered by Disqus