Wednesday, August 13, 2014

สร้าง Project JSF 2

โพสนี้โพสแรกครับ  ก็ขอพูดถึงการสร้าง JSF(JavaServer Faces) Project (ของ่ายๆก่อน)

Environment ที่ใช้ครับ


  • Eclipse 4.4
  • JSF 2.2
  • Maven 3
  • JDK 1.8
  • Tomcat 8

เริ่มทีละขั้นตอนเลยนะครับ

1. เปิด Eclipse Add  Dynamic Web Project ในหน้า New Dynamic Web Project Wizard จะมีรายละเอียดของ Project ให้กำหนดค่า ใส่ชื่อ Project และกำหนดค่าอื่นตามภาพเลยครับ  


ส่วนในช่องของ Configuration ให้คลิก Modify... จะมี Window Project Facets ขึ้นมาให้เลือก JavaServer Faces ตามภาพแล้วคลิก OK ได้เลยครับ



จะกลับมาในหน้าจอเดิมให้คลิก Next ไปจนถึงหน้าจอ JSF Capabilities 


ในส่วนนี้จะเป็นการ Config ตัว JSF  ครับ ตัว JSF Implement Library Type ผม Disable ไปก่อนเพื่อจะไป Add Dependency ทีหลังครับ 
ส่วนของ URL Mapping Patterns จะเป็น Pattern ตอนเราเรียกหน้า Page ครับ ซึ่งเรากำหนดเองได้เลยว่าจะเรียกยังไง ผมเลยแก้เป็น *.jsf ครับ  (จริงๆแล้วตรงนี้ก็ไป Config ทีหลังได้หมดนะครับ) 
เสร็จแล้วก็กด Finish โลดหลังจากนั้นตัว Eclipse ก็จะสร้างตัว Web Project ให้เราซึ่ง Config ค่าต่างๆเพื่อรองรับ JSF มาให้เรียบร้อยแล้วว


2.  เรามาจัดการเรื่อง Library ที่ค้างไว้ในส่วนแรกกันเลยนะครับ  พอเราได้  Project แล้วให้คลิกขวาที่ Project เลือก Menu Configure แล้วเลือก Convert to Maven Project ก็จะมีหน้าจอให้กำหนดค่า POM descriptor for Maven. ซึ่งถ้าไม่ได้กำหนดอะไรก็ Finish ไปได้เลย


เสร็จแล้วจะมีหน้าจอ Identify Maven Dependencies ซึ่งตัว Plugin maven จะเช็ค Dependencies จาก Library ที่เราใช้ใน Project อยู่เดิมแล้ว Add ให้ครับซึ่งตรงนี้เรายังไม่ได้ทำอะไร  กด Skip Dependencies Conversion ไปได้เลย



พอกดเสร็จให้สังเกต Project จะขึ้นตัว M แสดงว่ามันสำเร็จแล้ว : D
(ส่วนถ้าใครไม่เจอ Menu เกี่ยวกับ Maven ต้องลง Plugin เพิ่มเข้าไปนะครับ ซึ่งตัวผมเอง ใช้ Eclipse for JavaEE แล้วลง Plugin Jboss Tool ครับมีให้ครบเลยสะดวกดี)

ในส่วนของ pom.xml ให้ add dependency ตามนี้เลยครับ

 <dependencies>
  <dependency>
   <groupId>org.glassfish</groupId>
   <artifactId>javax.faces</artifactId>
   <version>2.2.7</version>
  </dependency>
 </dependencies>


ซึ่งผมใช้ตัว Mojarra JSF นะครับถ้าใช้ของตัวอื่นก็เปลี่ยน Dependency ได้เลย
(link รายละเอียดการ download ของตัว Mojarra ครับ https://javaserverfaces.java.net/download.html )


เสร็จแล้วครับสำหรับการ Config ตัว JSF Project ต่อไปเรามาลอง Test กันเลย




 3. เพิ่ม Managed Bean 


MyBean.java


package org.web.manage;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean
@RequestScoped
public class MyBean {

 /**
  * 
  */
 public String output = "";
 public MyBean() {
  output = "Hello World.";
 }
 public String getOutput() {
  return output;
 }
 public void setOutput(String output) {
  this.output = output;
 }

 

}

เพิ่มหน้า Page 

hello.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"> 

<h:head></h:head> 
<h:body> 
 <h:form>
 <h:outputText value="#{myBean.output}" />
 </h:form>
</h:body> 
</html>

ทดสอบหลังจากนั้นลองทดสอบรันดูครับ :)


ถ้าแสดงผลออกมาตามข้อมูลที่ใส่ไว้ใน Managed Bean ก็แสดงว่าใช้ได้ละครับ 

Source Code: jsf2.zip




 

No comments:

Post a Comment