« مثال JSF Application بخش 1 | صفحه اصلی | مثال JSF Application بخش 3 »
مثال JSF Application بخش 2
August 20, 2007 11:07 AM
ادامه از مطلب قبلي
1- ايجاد فايل هاي JSP
در مسير WebContent/pages فايل هاي inputname.jsp و greeting.jsp را ايجاد نماييد. محتواي اين دو فايل را در مراحل بعدي مشخص خواهيم كرد. دليل اينكه اين دو فايل را الان ايجاد كرده ايم اين است كه براي تعريف Navigation Rule در مرحله بعدي به آنها نياز خواهيم داشت.
2- تعريف Navigation
Navigation قلب JSF است و قواعد آن در فايل faces-config.xml تعريف مي شود. در اين مثال تنها كاري كه مي خواهيم بكنيم اين است كه از inputname.jsp به greeting.jsp برويم.
اگر بخواهيم Navigation Rule را بر اساس قواعد تعريف آن بيان نماييم به چنين عبارتي مي رسيم: rule مي گويد كه از view يا صفحه inputname.jsp به view يا صفحه greeting.jsp برو به شرطي كه outcome اجراي inputname.jsp عبارت greeting باشد. اين rule بدين صورت بيان مي شود:
1- ايجاد فايل هاي JSP
در مسير WebContent/pages فايل هاي inputname.jsp و greeting.jsp را ايجاد نماييد. محتواي اين دو فايل را در مراحل بعدي مشخص خواهيم كرد. دليل اينكه اين دو فايل را الان ايجاد كرده ايم اين است كه براي تعريف Navigation Rule در مرحله بعدي به آنها نياز خواهيم داشت.
2- تعريف Navigation
Navigation قلب JSF است و قواعد آن در فايل faces-config.xml تعريف مي شود. در اين مثال تنها كاري كه مي خواهيم بكنيم اين است كه از inputname.jsp به greeting.jsp برويم.
اگر بخواهيم Navigation Rule را بر اساس قواعد تعريف آن بيان نماييم به چنين عبارتي مي رسيم: rule مي گويد كه از view يا صفحه inputname.jsp به view يا صفحه greeting.jsp برو به شرطي كه outcome اجراي inputname.jsp عبارت greeting باشد. اين rule بدين صورت بيان مي شود:
<navigation-rule>
<from-view-id>/pages/inputname.jsp</fromview-id>
<navigation-case>
<from-outcome>greeting</from-outcome>
<to-view-id>/pages/greeting.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<from-view-id>/pages/inputname.jsp</fromview-id>
<navigation-case>
<from-outcome>greeting</from-outcome>
<to-view-id>/pages/greeting.jsp</to-view-id>
</navigation-case>
</navigation-rule>
3- ايجاد Managed Bean
در اين مرحله ابتدا در داخل فولدر JavaSource يك فولدر به نام jsfks كه همان نام Application است، ايجاد مي نماييم. در داخل اين فولدر، فايل PersonBean.java را براي ساخت كلاس PersonBean ايجاد مي نماييم. اين كلاس، براي set و get نام وارد شده توسط كاربر بكار مي رود. اين Bean را به اين دليل ساخته ايم كه منطق يا Logic برنامه را از قسمت نمايش يا همان صفحه jsp جدا كنيم. در فايل PersonBean.java با اين دستورات، كلاس PersonBean را ايجاد مي نماييم:
در اين مرحله ابتدا در داخل فولدر JavaSource يك فولدر به نام jsfks كه همان نام Application است، ايجاد مي نماييم. در داخل اين فولدر، فايل PersonBean.java را براي ساخت كلاس PersonBean ايجاد مي نماييم. اين كلاس، براي set و get نام وارد شده توسط كاربر بكار مي رود. اين Bean را به اين دليل ساخته ايم كه منطق يا Logic برنامه را از قسمت نمايش يا همان صفحه jsp جدا كنيم. در فايل PersonBean.java با اين دستورات، كلاس PersonBean را ايجاد مي نماييم:
package jsfks;
public class PersonBean {
String personName;
String personName;
public String getPersonName() {
return personName;
}
return personName;
}
public void setPersonName(String name) {
personName = name;
}
}
personName = name;
}
}
نحوه استفاده از اين كلاس از درون فايل jsp را در مراحل بعدي خواهيم ديد.
براي استفاده از Managed Bean تعريف شده، لازم است كه آن را در فايل faces-config.xml تعريف نماييم. از اين رو دستورات زير را به فايل مذكور اضافه مي نماييم:
براي استفاده از Managed Bean تعريف شده، لازم است كه آن را در فايل faces-config.xml تعريف نماييم. از اين رو دستورات زير را به فايل مذكور اضافه مي نماييم:
<managed-bean>
<managed-bean-name>personBean</managed-bean-name>
<managed-bean-class>jsfks.PersonBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean-name>personBean</managed-bean-name>
<managed-bean-class>jsfks.PersonBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
با اين تغيير، محتواي نهايي فايل faces-config.xml بايد مشابه اين باشد:
<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config>
<navigation-rule>
<from-view-id>/pages/inputname.jsp</from-view-id>
<navigation-case>
<from-outcome>greeting</from-outcome>
<to-view-id>/pages/greeting.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>personBean</managed-bean-name>
<managed-bean-class>jsfks.PersonBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
<navigation-rule>
<from-view-id>/pages/inputname.jsp</from-view-id>
<navigation-case>
<from-outcome>greeting</from-outcome>
<to-view-id>/pages/greeting.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<managed-bean>
<managed-bean-name>personBean</managed-bean-name>
<managed-bean-class>jsfks.PersonBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
4- ايجاد يك فايل Properties يا resource bundle
فايل properties فايلي است حاوي مجموعه جفت هايي به فرمت param=value . در صفحات jsp كه خواهيم ساخت از پيغامهاي ذخيره شده در آن استفاده خواهد شد. جدا نمودن پيغام ها از صفحات jsp اين خوبي را دارد كه مي توان بدون تغيير در فايل jsp به سرعت پيغام ها را ويرايش نمود.
ابتدا در فولدر JavaSource/jsfks فولدر ديگري به نام bundle ايجاد نماييد و داخل آن نيز فايلي به نام messages.properties بسازيد. اين فايل حتما بايد داخل JavaSource باشد كه هنگام كامپايل پروژه به فولدر class منتقل شود و در هنگام اجرا قابل دستيابي باشد.
متن زير را درون فايل messages.properties كپي كنيد:
فايل properties فايلي است حاوي مجموعه جفت هايي به فرمت param=value . در صفحات jsp كه خواهيم ساخت از پيغامهاي ذخيره شده در آن استفاده خواهد شد. جدا نمودن پيغام ها از صفحات jsp اين خوبي را دارد كه مي توان بدون تغيير در فايل jsp به سرعت پيغام ها را ويرايش نمود.
ابتدا در فولدر JavaSource/jsfks فولدر ديگري به نام bundle ايجاد نماييد و داخل آن نيز فايلي به نام messages.properties بسازيد. اين فايل حتما بايد داخل JavaSource باشد كه هنگام كامپايل پروژه به فولدر class منتقل شود و در هنگام اجرا قابل دستيابي باشد.
متن زير را درون فايل messages.properties كپي كنيد:
inputname_header=JSF KickStart
prompt=Tell us your name:
greeting_text=Welcome to JSF
button_text=Say Hello
sign=!
prompt=Tell us your name:
greeting_text=Welcome to JSF
button_text=Say Hello
sign=!
حالا هر آنچه لازم است براي ساخت صفحات jsp، در اختيار داريم.
ادامه دارد...
ادامه دارد...
نظرخواهی