জেএসএফ 2 এ ফেসস-কনফিগারেশন.এমএমএল এর ব্যবহার কী?


89

টীকাগুলির জন্য জেএসএফ 2 বড় সহায়তার পরে, আমি কী faces-config.xmlজন্য ব্যবহার করব তা ভাবছি । এখন এর গুরুত্ব কী?

অন্য কথায়, কনফিগারেশনগুলি কী যা কেবল faces-config.xmlটীকাগুলির মাধ্যমে করা যায় না?

এই মুহুর্তে আমি এর জন্য যা ব্যবহার করছি তা হ'ল স্প্রিংয়ের ইএল সমাধানকারীকে ঘোষণা করা।

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">

    <application>
        <el-resolver>
            org.springframework.web.jsf.el.SpringBeanFacesELResolver
        </el-resolver>
    </application> 
</faces-config>

4
আমাদের অন্তর্নির্মিত ইএলআরসলভার নির্দিষ্ট করার প্রয়োজন কেন? আমি ভেবেছিলাম নকশার দর্শনটি কনফিগারেশনের উপরে কনভেনশন ...
মাস্টার্সিলো

আমিও নাই <el-resolver>আমার মধ্যে faces-config.xmlএবং এটি পুরোপুরি কাজ করছে।
রোল্যান্ড

উত্তর:


142

এটি এখনও এমন অনেক কিছুর জন্য ব্যবহার করা যায় যা টীকানো যায় না। যেমন কাস্টম জেএসএফ বৈধতা বার্তা:

<application>
    <message-bundle>com.example.i18n.messages</message-bundle>
</application>

একটি গ্লোবাল আই 18n বান্ডিল (যাতে আপনাকে <f:loadBundle>প্রতিটি দর্শনে ঘোষণার দরকার নেই ):

<application>
    <resource-bundle>
        <base-name>com.example.i18n.Text</base-name>
        <var>text</var>
    </resource-bundle>
</application>

আই 18 এন লোকেলগুলি স্পষ্টভাবে সমর্থিত (যাতে এর জন্য কোনও বার্তা বা সংস্থান বান্ডেল থাকা সত্ত্বেও ঘোষিত না হওয়াগুলি উপেক্ষা করা হবে):

<application>
    <locale-config>
        <default-locale>en</default-locale>
        <supported-locale>nl</supported-locale>
        <supported-locale>es</supported-locale>         
        <supported-locale>de</supported-locale>         
    </locale-config>
</application>

কাস্টম ভিউ হ্যান্ডলারগুলি :

<application>
    <view-handler>com.example.SomeViewHandler</view-handler>
</application>

পর্যায়ের শ্রোতা (এখনও এর জন্য কোনও টিকা নেই):

<lifecycle>
    <phase-listener>com.example.SomePhaseListener</phase-listener>
</lifecycle>

Managed মটরশুটি যা সটীক করা যাবে না (নীচে বর্তমান দেয় Dateউপর #{now}):

<managed-bean>
    <description>Current date and time</description>
    <managed-bean-name>now</managed-bean-name>
    <managed-bean-class>java.util.Date</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>

কাস্টম ব্যতিক্রম হ্যান্ডলার কারখানা যেমন কাস্টম কারখানা, (এটা এছাড়াও কারখানার পারবেন FacesContext, ExternalContext, LifeCycleএবং আরো অনেক, যাতে আপনি আপনার কাস্টম বাস্তবায়ন প্রদান করতে পারেন):

<factory>
    <exception-handler-factory>com.example.SomeExceptionHandlerFactory</exception-handler-factory>
</factory>

শুধুমাত্র ব্যবহৃত ব্যবহৃত নামকরণ। আপনার যদি faces-config.xmlআইডিইতে ট্যাগ স্বতঃপূরণ হয়, আপনি সেগুলি সন্ধান করতে পারেন। নতুন টীকাগুলি এবং অন্তর্নিহিত নেভিগেশনের জন্য কেবল পরিচালিত মটরশুটি, ভ্যালিডিটার, রূপান্তরকারী, উপাদান, রেন্ডার এবং পয়েন্ট-টু-পয়েন্ট নেভিগেশনের ক্ষেত্রে আর প্রয়োজন নেই।


7
@Matt: আমি যেখানে একটি একটি প্রকল্প ছিল java.util.HashMapযেমন #{components}সব উপাদান বাইন্ডিং একটি ভাল ঘোষণামূলক ওভারভিউ আছে অনুরোধ সুযোগ মধ্যে সংরক্ষিত হয়। উদাহরণস্বরূপ binding="#{components.foo}"যাতে এটি উল্লেখ করা যেতে পারে #{components.foo}যেটি স্ব-ডকুমেন্টিং এবং কম ঝুঁকিপূর্ণ (সম্ভাব্য নাম সংঘর্ষের কারণে) binding="#{foo}"এবং এর চেয়ে বেশি #{foo}
BalusC

4
আমি এল-রিসলভার নির্দিষ্ট করার জন্য কিছু টীকাও খুঁজছিলাম। এখন আমি মনে করি টীকাগুলির মাধ্যমে এই অ্যাপ্লিকেশন বৈশিষ্ট্যগুলি নির্দিষ্ট করার উপায় নেই .. ঠিক .. ??
রূপ মজুমদার

@ রূপমজুমদার আপনি এ জাতীয় টীকাটি কোথায় রাখতে চান, আমার মানে কোন শ্রেণিতে? এই সম্পত্তি পুরো অ্যাপ্লিকেশন ছড়িয়ে আছে।
iozee

4
এফডাব্লুআইডাব্লু, অ্যাপাচি ডেল্টাসপাইক ব্যবহার করার সময়, JsfPhaseListener টীকাগুলি ফেস-কনফিগার.এক্সএমএলে কনফিগার করার প্রয়োজন ছাড়াই ফেজ শ্রোতাদের ব্যবহারের জন্য ব্যবহার করা যেতে পারে।
jpangamarca
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.