ساخت صفحه greeting.jsp
January 6, 2008 03:07 PM
ساخت يک صفحه خالي:
1. روي ماژول firstcup-war کليک راست نماييد.
2. از قسمت New گزينه JSP را انتخاب کنيد.
3. نام فايل JSP را greeting وارد کنيد.
4. Finish را کليک کنيد.
5. تگ head را به اين صورت تغيير دهيد:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Firstcup Greeting Page</title>
</head>
7. عبارت زير را حذف کنيد:
Declare نمودن Tag Library هاي JSF
همانگونه که مي دانيد تکنولوژي JavaServer Faces در واقع مجموعه اي از custom tag هاي jsp است که براي نمايش کامپوننت هاي واسط کاربري ، اعتبار سنجي و ساير موارد مربوطه به کار مي رود. Custom tag ها در tag library ها تعريف مي شوند. تکنولوژي JavaServer Faces در دو tag library تعريف مي شود:
• HTML Render Kit library که در آن همه کامپوننت هاي استاندارد واسط کاربري تعريف شده اند.
• Core tag library که تگ هاي مورد نياز براي مبدل ها (convertors) ، اعتبارسنج ها (Validators) و event listener ها و ساير توابع عملکردي اشياء تعريف مي شوند.
براي استفاده از اين تگ ها در صفحه بايد tag library را declare نماييد. در اين مثال بايد خطوط زير را در فايل greeting.jsp درست پس از تگ بسته شدن head قرار دهيد:
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
يک صفحه JSF بوسيله درختي از کامپوننت هاي واسط کاربري نمايش داده مي شود. هر صفحه JSP که از تکنولوژي JSF استفاده مي کند بايد داراي تگ view باشد. اين تگ در Core tag Library تعريف شده است و ريشه يا root درخت کامپوننت ها را مشخص مي نمايد. ساير تگ هاي JSF بايد درون تگ view تعريف شوند.
همچنين از آنجا که معمولا صفحات JSF شامل فرمي براي دريافت اطلاعات از کاربر است، معمولا بايد شامل تگ form نيز باشد. همه کامپوننت هاي موجود در يک فرم بايد درون تگ form قرار گيرند.
با مثال خود بحث را پي مي گيريم.
در ادامه declare نمودن tag library ها تگ هاي view و form را بدين صورت تعريف نماييد:
<h:form>
</h:form>
</f:view>
يکي از مهمترين و پر کاربرد ترين تگ هاي JSF تگ outputText است. greeting.jsp براي نمايش پيغام خوش آمدگويي، دستورالعمل ها، Lebel ها و سن Duke از آن استفاده مي کند. براي اين کار از پيغام هاي تعريف شده در resource bundle استفاده مي نمايد. همچنين تگ outputText اي که سن Duke را نشان مي دهد از متغير age موجود در DukesBDay bean استفاده مي کند.
در داخل تگ h:form اين کد ها را بنويسيد:
<h:outputText value="#{bundle.DukeIs} "/>
<h:outputText value="#{dukesBDay.age}"/>
<p><h:outputText value="#{bundle.Instructions}"/>
<p><h:outputText value="#{bundle.YourBD}"/>
يکي ديگر از تگ هاي پرکاربرد، تگ inputText است که يک فيلد متني براي دريافت ورودي از کاربر است. در اين مثال در صفحه greeting.jsp تاريخ تولد کاربر دريافت مي شود و مقدارش در متغير YourBD از DukesBDay Bean ريخته مي شود. بدين ترتيب:
پس از کدهاي نوشته شده از مراحل قبل، کدهاي زير را بنويسيد:
</h:inputText>
JSF شامل مجموعه از convertor ها و validator هاي استاندارد است که مي توان به کامپوننت نسبت داد. هدف از آنها اعتبار سنجي داده هاي ورودي و كنترل انطباق آنها با الگويي خاص است. در اينجا ما مي خواهيم نحوه ورود تاريخ توسط كاربر را مشخص نماييم و روي آن كنترل داشته باشيم.
به اين منظور چنين عمل کنيد:
1. تگ زير را در داخل تگ h:inputText اضافه نماييد:
value="#{dukesBDay.yourBD}"
converterMessage="#{bundle.DateError}">
<f:convertDateTime pattern="MM/dd/yyyy"/>
</h:inputText>
درست قبل از تگ message که در مرحله قبل ايجاد کرديد تگ زير را اضافه نماييد:
پياده سازي greeting.jsp هم تمام شد. در مطلب بعد، آخرين جزء Application كه صفحه response.jsp است را خواهيم ساخت.