Menambah menu Dosen dengan struts

May 27, 2009 at 5:11 am 1 comment

Pada artikel ini saya coba memanfaatkan skill exam jeni 3 yang sudah ada strutsnya, saya akan mencoba menambahkan menu Dosen, artikel ini juga kelanjutan dan artikel saya yan berjudul TRIK MENGERJAKAN SKILL EXAM JENI 3. Langkah-langkahnya sebagai berikut :

Ok, Bikin dahulu  table dosen :

DDL dan DML seperti berikut :

CREATE TABLE `dosen` (

`nidn` int(10) NOT NULL default ‘0’,

`nama` varchar(45) NOT NULL,

`alamat` varchar(128) default ”,

`hp` varchar(15) default ”,

PRIMARY KEY  (`nidn`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `dosen` VALUES (613036801,’Heru Krisdyantoro Hadi, S.Kom’,’Gombong’,’08156877777′);

INSERT INTO `dosen` VALUES (613127802,’Hary Susanto, S.Kom’,’Karanganyar’,’08122222222′);

Buka menu-left.jsp

Rubahlah menjadi

<%@taglib uri=”http://jakarta.apache.org/struts/tags-logic&#8221; prefix=”logic”%>

<%@ taglib uri=”http://jakarta.apache.org/struts/tags-html&#8221; prefix=”html” %>

<h3>Layanan Kami</h3>

<ul>

<li><html:link page=”/SeminarList.do” title=”List All Seminar”>Daftar Seminar</html:link></li>

<li><html:link page=”/CompanyList.do” title=”List All Company”>Daftar Rekanan</html:link></li>

<li><html:link page=”/DosenList.do” title=”List All Dosen”>Daftar Dosen</html:link></li>

<li><html:link page=”/AccountList.do” title=”List All Account”>Daftar User</html:link></li>

</ul>

<br/>

<logic:notPresent property=”employee” scope=”session”>

<ul class=”leftbox borderedlist”>

</ul>

</logic:notPresent>

<logic:present property=”employee” scope=”session”>

<h3 class=”leftbox header_small”>Admin Menu</h3>

<ul class=”leftbox borderedlist”>

<li><html:link page=”/SeminarForm.do” title=”Form to add a seminar event”>Add New Seminar</html:link></li>

<li><html:link page=”/SeminarList.do” title=”Modify existing seminar”>Modify Existing Seminar</html:link></li>

</ul>

<hr />

<ul class=”leftbox borderedlist”>

<li><html:link page=”/AccountForm.do” title=”Add New User or Employee Account”>Add New Account</html:link></li>

<li><html:link page=”/AccountList.do” title=”Add Modify existing Account”>Modify Existing Account</html:link></li>

</ul>

<ul class=”leftbox borderedlist”>

<li><html:link page=”/CompanyForm.do” title=”Add New Company or Company Account”>Add New Company</html:link></li>

<li><html:link page=”/CompanyList.do” title=”Add Modify existing Company”>Modify Existing Company</html:link></li>

</ul>

<ul>

<li><html:link page=”/DosenForm.do” title=”Add New Dosen “>Add New Dosen</html:link></li>

<li><html:link page=”/DosenList.do” title=”Add Modify existing Dosen”>Modify Existing Dosen</html:link></li>

</ul>

</logic:present>

<ul>

</ul>

Langkah selanjutnya, buka file tiles-def.xml tambahkan seperti berikut :

<definition extends=”basicDefinition”>

<put name=”body” value=”/WEB-INF/view_pages/account/accountList.jsp”/>

</definition>

<definition name=”dosenListPage” extends=”basicDefinition”>

<put value=”/WEB-INF/view_pages/dosen/dosenList.jsp”/>

</definition>

Langkah selanjutnya, tambahkan coding pada struts-config.xml  seperti berikut :

<action path=”/CompanyDetail” forward=”companyDetailPage”/>

<action path=”/CompanyList” forward=”companyListPage”/>

<action path=”/DosenList” forward=”dosenListPage”/>

Kemudian buat folder dengan nama dosen dalam folder view_pages, dan dilanjutkan dengan membuat file dosenList.jsp didalamnya,  codingnya adalah sebagai berikut :

<%@taglib uri=”http://java.sun.com/jsp/jstl/core&#8221; prefix=”c”%>

<%@taglib uri=”http://jakarta.apache.org/struts/tags-html&#8221; prefix=”html”%>

<%@taglib uri=”http://jakarta.apache.org/struts/tags-logic&#8221; prefix=”logic”%>

<font color=”red”>

<html:errors/>

</font>

<h2>Daftar Dosen</h2>

<jsp:useBean scope=”session” class=”jeni.struts.seminar.helper.DosenViewHelper” />

<table border=”1″>

<thead>

<tr>

<th>NIDN</th>

<th>Nama</th>

<th>Alamat</th>

<th>No HP</th>

<logic:present name=”EmployeeContainer” property=”employee” scope=”session”>

<th>Action</th>

</logic:present>

</tr>

</thead>

<tbody>

<c:forEach items=”${dosenHelper.dosenList}” var=”dosen”>

<tr>

<td>${dosen.nidn}</td>

<td>${dosen.nama}</td>

<td>${dosen.alamat}</td>

<td>${dosen.hp}</td>

<td>

<logic:present property=”employee” scope=”session”>

<html:link forward=”EditDosenForm” paramId=”nidn” paramName=”dosen” paramProperty=”nidn”>Edit</html:link> |

<html:link forward=”cDeleteDosen” paramId=”nidn” paramName=”dosen” paramProperty=”nidn”>Delete</html:link></td>

</logic:present>

</td>

</tr>

</c:forEach>

</tbody>

</table>

Langkah selanjutnya buat package jeni.struts.seminar.dao.dosen dan di dalamnya ada 2 files DosenDAO.java dan DosenMySQLDAO.java, coding untuk DosenDAO.java sebagai berikut :

package jeni.struts.seminar.dao.dosen;

import java.util.Collection;

import jeni.struts.seminar.bean.Dosen;

import jeni.struts.seminar.bean.User;

public interface DosenDAO {

Collection getDosenList();

}

Dan coding  DosenMySQLDAO.java sebagai berikut :

package jeni.struts.seminar.dao.dosen;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Collection;

import java.util.Vector;

import jeni.struts.seminar.bean.Dosen;

import jeni.struts.seminar.dao.MySQLDataAccessObject;

public class DosenMySQLDAO extends MySQLDataAccessObject implements DosenDAO{

private Collection dosenList;

public Collection getDosenList() {

Dosen dosen = null;

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

String sql = “SELECT * FROM dosen”;

Vector dosenList = new Vector();

try {

conn = getConnection();

stmt = conn.createStatement();

rs = stmt.executeQuery(sql);

while(rs.next()){

dosen = new Dosen();

dosen.setNidn(rs.getInt(“nidn”));

dosen.setNama(rs.getString(“nama”));

dosen.setAlamat(rs.getString(“alamat”));

dosen.setHp(rs.getString(“hp”));

dosenList.add(dosen);

}

return dosenList;

} catch (SQLException e) {

System.out.println(“Error while executing select dosen query”);

e.printStackTrace();

return null;

}finally {

releaseResources(conn, stmt,rs);

}

}

}

Langkah selanjutnya buka DAOFactory.java yang terdapat di dalam package jeni.struts.seminar.dao dan modif codingnya seperti berikut :

package jeni.struts.seminar.dao;

import jeni.struts.seminar.dao.company.CompanyDAO;

import jeni.struts.seminar.dao.company.CompanyMySQLDAO;

import jeni.struts.seminar.dao.employee.EmployeeDAO;

import jeni.struts.seminar.dao.employee.EmployeeMySQLDAO;

import jeni.struts.seminar.dao.seminar.SeminarDAO;

import jeni.struts.seminar.dao.seminar.SeminarMySQLDAO;

import jeni.struts.seminar.dao.user.UserDAO;

import jeni.struts.seminar.dao.user.UserMySQLDAO;

import jeni.struts.seminar.dao.dosen.DosenDAO;

import jeni.struts.seminar.dao.dosen.DosenMySQLDAO;

public class DAOFactory {

public static UserDAO getUserDAOInstance(){

return new UserMySQLDAO();

}

public static SeminarDAO getSeminarDAOInstance() {

return new SeminarMySQLDAO();

}

public static EmployeeDAO getEmployeeInstance() {

return new EmployeeMySQLDAO();

}

public static CompanyDAO getCompanyDAOInstance() {

return new CompanyMySQLDAO();

}

public static DosenDAO getDosenDAOInstance() {

return new DosenMySQLDAO();

}

}

Langkah berikutnya buatlah file Dosen.java pada package jeni.struts.seminar.bean, codingnya seperti berikut :

package jeni.struts.seminar.bean;

public class Dosen {

private int nidn;

private String nama;

private String alamat;

private String hp;

}

Namun, pada langkah ini belum cukup, pendeklarasian variable nidn, nama, alamat, dan hp tidak cukup hanya begitu saja. Perlu diset and get, caranya :

Blok keempat baris :

private int nidn;

private String nama;

private String alamat;

private String hp;

kemudian klik kanan, refactore, EncapsulateFields sehingga muncul menu sebagai berikut :

menudosen2

Kemudian beri centang alias contreng pada semua field di atas, di atas terlihat  baru hp yang sudah diget dan set, yang lain juga harus diset dan get semua kemudian next, kemudian perhatikan pada netbean pojok kiri bawah, ada tombol Do factoring, klik tombol Do Factoring tersebut sehingga coding Dosen.java lengkapnya seperti berikut :

package jeni.struts.seminar.bean;

public class Dosen {

private int nidn;

private String nama;

private String alamat;

private String hp;

public int getNidn() {

return nidn;

}

public void setNidn(int nidn) {

this.nidn = nidn;

}

public String getNama() {

return nama;

}

public void setNama(String nama) {

this.nama = nama;

}

public String getAlamat() {

return alamat;

}

public void setAlamat(String alamat) {

this.alamat = alamat;

}

public String getHp() {

return hp;

}

public void setHp(String hp) {

this.hp = hp;

}

}

Langkah berikutnya, buat file DosenFacade.java yang diletakkan dalam package jeni.struts.seminar.facade dengan coding seperti berikut :

package jeni.struts.seminar.facade;

import java.util.Collection;

import jeni.struts.seminar.bean.Dosen;

import jeni.struts.seminar.dao.DAOFactory;

import jeni.struts.seminar.dao.dosen.DosenDAO;

public class DosenFacade {

public Collection getDosenList() {

DosenDAO dao = DAOFactory.getDosenDAOInstance();

return dao.getDosenList();

}

}

Langkah berikutnya lagi buat file DosenViewHelper.java di dalam package jeni.struts.seminar.helper  yang codingnya seperti berikut :

package jeni.struts.seminar.helper;

import java.util.Collection;

import java.util.Iterator;

import jeni.struts.seminar.bean.Dosen;

import jeni.struts.seminar.facade.DosenFacade;

public class DosenViewHelper {

private Collection dosenList;

private DosenFacade cFacade;

private int nidn;

public DosenViewHelper() {

cFacade = new DosenFacade();

}

public Collection getDosenList(){

dosenList = cFacade.getDosenList();

return dosenList;

}

public void setNidn(int nidn) {

this.nidn = nidn;

}

public Dosen getDosen(){

if(nidn == 0) return null;

Iterator it = dosenList.iterator();

while (it.hasNext()){

Dosen dosen = (Dosen)it.next();

if (dosen.getNidn() == nidn){

nidn = 0;

return dosen;

}

}

nidn = 0;

return null;

}

}

Dari sekian langkah, maka jika sudah selesai hasilnya seperti berikut :

menudosen1

Apa yang saya coba ini bisa dikembangkan sesuai dengan kebutuhan dari menu apa yang ditambahkan, tidak harus dosen, mungkin yang lain, misalnya guru, karyawan, siswa atau yang lain yang tentunya field-fieldnya menyesuaikan. Apa yang saya coba ini juga belum lengkap, saya baru mencoba  sederhana saja, jadi bisa dikembangkan lagi. Selamat mencoba.

Entry filed under: Web Programming. Tags: .

Paging using php (first prev 1 234567 next last) How to create a guestbook ?

1 Comment Add your own

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Trackback this post  |  Subscribe to the comments via RSS Feed


May 2009
M T W T F S S
« Mar   Jun »
 123
45678910
11121314151617
18192021222324
25262728293031

%d bloggers like this: