كيف أجعل Actionbean يتم إنشاء مثيل له على الفور ولكن ليس بعد أن أسمي أحد المعالجات؟

StackOverflow https://stackoverflow.com/questions/3080442

  •  28-09-2019
  •  | 
  •  

سؤال

أحاول صنع شيء بسيط مع خطوط. لقد قرأت وسمعت الكثير عن سهولة استخدام هذا الإطار وحول منحنى التعلم الحاد (أي التعلم سريع ومثمر للغاية).

ولكن حتى هذه اللحظة لا يمكنني حتى إنشاء أبسط helloworld مع خطوط.

جميع الأمثلة التي وجدتها توضح وظائف مثل: "انقر على الرابط -> انظر النتيجة". عندما نضغط على الرابط ، يتم استدعاء معالج خاص (الذي يعود Resolution) وبعد ذلك يعمل Getters أيضًا (لأن الفول يتم إنشاء مثيل له).

لكن إذا كنت لا أريد رابطًا ولكني أريد معلومات ثابتة بسيطة (على سبيل المثال ، عندما أفتح StackOverflow ، لا أحتاج إلى النقر على رابط ، لكنني أرى على الفور قائمة بالأسئلة) ، فهذا شيء غير مستمد للشريط كما يبدو لي ، لأن الفول لم يتم إنشاء مثيل له على الفور.

كيفية إصلاح ذلك؟ هل هناك بعض التعليقات التوضيحية الخاصة أو تقنية أخرى؟

هل جرب أي شخص هنا خطوطًا والتقى بنفس المشكلة؟ أنا محبط حقًا ، ربما فاتني شيء ..

UPD: ربما لم يكن واضحًا لأنني لم أرفق أي رمز. لذلك أصف أكثر قليلاً. من أجل إعادة إنتاج وضعي ، يكفي الحصول على الرمز من بداية سريعة وحاول استرداد النص من ActionBean Getters (حاليًا ، يتم ترميز النص في JSP). لن يظهر النص إلا بعد الضغط على الزر (أي بعد أن يقوم المعالج ببعض الأعمال). ولكن بعد فتح الصفحة لأول مرة ، لن ترى النص.

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

المحلول

هل أنت على دراية بنمط MVC (انظر http://en.wikipedia.org/wiki/Model٪E2٪80٪93View٪E2٪80٪93Controller ))؟ أحد الأجزاء الرئيسية في MVC هو أنك لم تتصل مطلقًا بـ JSP مباشرة. أنت لا تذهب إلى www.myservername.com/myjsp.jsp. بدلاً من ذلك ، تذهب إلى www.myservername.com/mything.action. ستقوم Stripes ببعض المعالجة ، وتعيين بعض الأشياء ، ثم ترسل لك إلى JSP المحددة.

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

أما بالنسبة لما يحدث عندما تذهب فقط إلى www.myservername.com ، فإنك تذهب إلى ملف الترحيب في web.xml الخاص بك. أنت تفعل شيئًا كهذا

<welcome-file>index.jsp</welcome-file>

(نعم أنت تكسر القاعدة حول عدم وجود JSP مباشرة)

ثم في index.jsp ، تجعله ملف سطر واحد مثل SO:

<jsp:forward page="myaction.action"/>

وفي المرة الأولى التي يذهب فيها شخص ما إلى موقعك ، ضرب index.jsp ، الذي يرسله إلى إجراء ، والذي يملأ الأشياء وإعادة توجيههم. في أي حالات أخرى ، سيصل المستخدم مباشرة إلى JSP ، وملف الفهرس ليس سوى مهاجم إلى إجراء حقيقي.

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