Kalender Tulisan

April 2008
M T W T F S S
« Mar   May »
 123456
78910111213
14151617181920
21222324252627
282930  

Tulisan Terbaru

Kategori Tulisan

Komentar Para Blogger

Benang Tulisan


« Java Open Source | Main | Wordpress 2.5 »

Pindah dari halaman ’setsuna’ ke halaman ‘exia’

By deepe | April 19, 2008

Secangkir kopi java sabtu pagi ini adalah

Bagaimana pindah (forward) dari halaman ’setsuna’ ke halaman ‘exia’

atau deskripsi umumnya

Bagaimana menggunakan <jsp:forward /> atau response.sendRedirect

Racikan kopinya:

Saya buat dua buah halaman dengan nama ’setsuna’ dan ‘exia’. Halaman ’setsuna’ mewakili myindex.jspx dan halaman ‘exia’ mewakili hello.jsp.

Kode untuk halaman ’setsuna’

<?xml version=’1.0′ encoding=’windows-1252′?>
<jsp:root xmlns:jsp=”http://java.sun.com/JSP/Page” version=”2.0″
xmlns:h=”http://java.sun.com/jsf/html”
xmlns:f=”http://java.sun.com/jsf/core”>
<jsp:output omit-xml-declaration=”true” doctype-root-element=”HTML”
doctype-system=”http://www.w3.org/TR/html4/loose.dtd”
doctype-public=”-//W3C//DTD HTML 4.01 Transitional//EN”/>
<jsp:directive.page contentType=”text/html;charset=windows-1252″/>

<jsp:forward page=”faces/hello.jsp”/>
</jsp:root>

Kode untuk halaman ‘exia’ (menggunakan 2 backing bean dengan nama backing_hello dan helloBean)

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<%@ page contentType=”text/html;charset=windows-1252″%>
<%@ taglib uri=”http://java.sun.com/jsf/html” prefix=”h”%>
<%@ taglib uri=”http://java.sun.com/jsf/core” prefix=”f”%>
<%@ taglib uri=”http://xmlns.oracle.com/adf/faces” prefix=”af”%>
<f:view>
<html>
<head>
<meta http-equiv=”Content-Type”
content=”text/html; charset=windows-1252″/>
<title>hello</title>
</head>
<body><h:form binding=”#{backing_hello.form1}” id=”form1″>
<h:outputFormat binding=”#{backing_hello.outputFormat1}”
id=”outputFormat1″ value=”#{helloBean.hello}”/>
</h:form></body>
</html>
</f:view>
<%– oracle-jdev-comment:auto-binding-backing-bean-name:backing_hello–%>

Berikut ini kode backing bean yang dibutuhkan halaman ‘exia’,

Nama Backing Bean : backing_hello
Nama Kelas : Hello
Scope : request


package darkpluto.backing;

import javax.faces.component.html.HtmlForm;
import javax.faces.component.html.HtmlOutputFormat;

public class Hello {
private HtmlForm form1;

private HtmlOutputFormat outputFormat1;

public void setForm1(HtmlForm form1) {
this.form1 = form1;
}

public HtmlForm getForm1() {
return form1;
}

public void setOutputFormat1(HtmlOutputFormat outputFormat1) {
this.outputFormat1 = outputFormat1;
}

public HtmlOutputFormat getOutputFormat1() {
return outputFormat1;
}
}

Nama Backing Bean : helloBean
Nama Kelas : HelloBean
Scope : session

package darkpluto.backing;

public class HelloBean {
public String getHello(){
return “Hello World Java Server Faces.”;
}
}

Bagaimana rasanya?
Ketika menikmati (mencoba) hasil racikan resep ini, ternyata tidak enak (error) sampe-sampe harus memuntahkan berbagai macam kalimat tidak jelas sebagai berikut:

error forward

Wuaaaduh….

Kalo begini siapa yang mau menikmati resep ini??? Bingung dah!
Kurang atau kelebihan apa ya??? Terlarut dalam percobaan, akhirnya dapat rasa yang pas (errornya bisa dibenerin).

Solusinya :

Komponen <jsp:forward /> mesti saya letakkan tepat didalam <jsp:root>

Kode yang baru menjadi seperti berikut ini

<?xml version=’1.0′ encoding=’windows-1252′?>
<jsp:root xmlns:jsp=”http://java.sun.com/JSP/Page” version=”2.0″
xmlns:h=”http://java.sun.com/jsf/html”
xmlns:f=”http://java.sun.com/jsf/core”>
<jsp:output omit-xml-declaration=”true” doctype-root-element=”HTML”
doctype-system=”http://www.w3.org/TR/html4/loose.dtd”
doctype-public=”-//W3C//DTD HTML 4.01 Transitional//EN”/>
<jsp:directive.page contentType=”text/html;charset=windows-1252″/>

<jsp:forward page=”faces/hello.jsp”/>
</jsp:root>

Dengan pengurangan bagian tersebut, akhirnya kopi java hari ini dapat dinikmati (kode sukses).

Topics: Java |

Comments