سؤال

لقد كنت أعمل مع Struts لبعض الوقت، ولكن بالنسبة لمشروع أقوم بإنهائه، طُلب مني فصل القوالب (ملفات السرعة .vm)، والتكوينات (struts.xml، وresistence.xml) عن ملف WAR الرئيسي.

لدي كل شيء في الهيكل الافتراضي مثل:

    application
    |-- ميتا-INF            -- Some configs are here
    |-- معلومات الويب             -- others here
    |   |-- classes
    |   |   |-- META-INF
    |   |   `-- mypackage
    |   |       `-- class-files
    |   `-- lib
    |-- css
    `-- tpl                 -- Template dir to be relocated

ويبدو أنني لا أستطيع العثور على وثائق حول كيفية الإعداد (ربما في struts.xml) حيث تذهب القوالب الخاصة بي، وأين ستكون ملفات التكوين.

أعتقد أنه سيتعين علي استخدام التكوينات على خادم التطبيقات أيضًا (أنا أستخدم Jetty 5.1.14).

لذا، أي أضواء على كيفية تكوينه؟

شكرًا


حسنًا، كل ما يتعلق بتغيير مكان القوالب هو وضع القوالب في منطقة يمكن للمصمم الوصول إليها، وبالتالي فإن أي تعديل مطلوب، يمكن للمصمم تحميلها على جهاز الكمبيوتر الخاص به، وتحريرها، وتحميله مرة أخرى.أعتقد أن هذا سيناريو شائع.لذا، ربما أفتقد شيئًا ما في بحثي.ربما أركز في تكوينه على المكان الخطأ ...أي أفكار ؟

هل كانت مفيدة؟

المحلول

إذا فهمت سؤالك حول ملفات تكوين Struts بشكل صحيح، فقد تم تحديدها في web.xml.ابحث عن معلمة تكوين Struts servlet.يمكن أن تكون القيمة المعلمة عبارة عن قائمة مفصولة بفواصل لملفات XML المراد تحميلها.على سبيل المثال:

<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>
            WEB-INF/config/struts-config.xml,
            WEB-INF/config/struts-config-stuff.xml,
            WEB-INF/config/struts-config-good.xml,
            WEB-INF/config/struts-config-bad.xml,
            WEB-INF/config/struts-config-ugly.xml
        </param-value>
    </init-param>
    ...
</servlet>

انظر الى هذا دليل الدعامات تحت 5.3.2.ونعم، هذا ينطبق على 2.x أيضًا.

نصائح أخرى

ل الثبات.xml, على وجه التحديد، يمكنك وضع وحدة الثبات في JAR منفصل، والتي يمكنك نشرها بشكل منفصل عن تطبيق الويب الخاص بك WAR، أو كليهما معًا في أرشيف EAR، اعتمادًا على ما يدعمه خادم التطبيق الخاص بك.على سبيل المثال، يصف دليل JBoss هذا بأنه انشر EAR باستخدام EJB3 JAR.

ل الدعامات-config.xml أتوقع أنه سيتعين عليك تجاوز كود Struts الذي يقوم بتحميله، إذا كنت تريد استخدام موقع غير قياسي.

لا أعرف عن قوالب السرعة.

بشكل عام، تقوم تطبيقات الويب فقط بتحميل الموارد من داخل WAR، لأسباب أمنية.هناك تقنيات أخرى يمكنك استخدامها، ولكن قد تجد أنه من الأسهل تجربتها weblets, ، والذي يبدو أنه إطار عمل مصمم ليتيح لك تحميل الموارد من ملف JAR منفصل.

تحتاج إلى النظر في velocity.properties الملف الموجود في مجلد WEB_INF الخاص بك. IMHO هنا حيث تحتاج إلى تغيير ملفك جذر القالب تغيير الممتلكات file.resource.loader.path.

آمل أن يساعد ذلك ، بيتر

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top