الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الدرس الأول في Struts

مغلق
بدأه javaferas في 16 مايو 2007 · 3 رد · 1,892 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و أتمنى أن يعجبكم هذا الدرس الأول ، و أنا مستعد للرد على جميع استفاساراتكم

سوف أشرح المراحل التي تمر بها Strust

  • The user requests a form
    المستخدم يطلب صفحة من browser فينشىء request و يذهب إلى actionServlet ، و ظيفة actionServelt أنها تستقبل جنيع request
  • That address is mapped by struts-config.xml to an Action class
    بعد و صول requsdt إلى ActionServlet تحدد ActionServlet ال Action عن طريق ملف struts-config.xml
  • Struts forwards request to the appropriate JSP page
    بعد تحديد action ، يتم تحديد صفحات JSP

و هذا مثال على كود من ملف struts-config.xml

 

<action path="/register2" 
			type="coreservlets.RegisterAction2">
	  <forward name="bad-address" 
			   path="/WEB-INF/results/bad-address.jsp"/>
	  <forward name="bad-password" 
			   path="/WEB-INF/results/bad-password.jsp"/>
	</action>

في هذا المثال هنا عرفنا address اسمه register2.do بحيث لو طلبه المستخدم سوف حوله إالى ActionServlet و من ثم الى Action و اسمه coreservlets.RegisterAction2 فإذا ارجع bad-address فإنه سوف يحوله الى صفحة

WEB-INF/results/bad-address.jsp

و اذا ارجع bad-address فإنه سوف يحوله الى صفحة bad-password.jsp

لندرس كود classs coreservlets.RegisterAction2

	

package coreservlets;

import javax.servlet.http.*;
import org.apache.struts.action.*;

public class RegisterAction2 extends Action {
  public ActionForward execute(ActionMapping mapping,
							   ActionForm form,
							   HttpServletRequest request,
							   HttpServletResponse response)
	  throws Exception {
	String email = request.getParameter("email");
	String password = request.getParameter("password");
	if ((email == null) ||
		(email.trim().length() < 3) ||
		(email.indexOf("@") == -1)) {
	  return(mapping.findForward("bad-address"));
	} else if ((password == null) ||
			   (password.trim().length() < 6)) {
	  return(mapping.findForward("bad-password"));
	} else {
	  return(mapping.findForward("success"));
	}
  }
}

نلاحظ ما يلي أنه يعالج ال request و يؤخذ قيم كلة السر و الإيميل و يعمل عليها التأكد من أنها صحيحة ثم يحوله map معين حتى تذهب الى صفحة jsp المطلوبة

و مع هذا الموضوع و ضعت المثال و اسأل الله عز وجل أن تستفيدوا من هذا المثال

struts_actions.zip

#2

جزاك الله خيرا و غفر لك، و الله إنت راجل تمام، المشكله فينا إحنا، عندنا امتحانات اليومين دول و كده هيفوتنا خير عظيم :s

#3
javaferas كتب:
السلام عليكم و أتمنى أن يعجبكم هذا الدرس الأول ، و أنا مستعد للرد على جميع استفاساراتكم

سوف أشرح المراحل التي تمر بها Strust

  • The user requests a form
    المستخدم يطلب صفحة من browser فينشىء request و يذهب إلى actionServlet ، و ظيفة actionServelt أنها تستقبل جنيع request
  • That address is mapped by struts-config.xml to an Action class
    بعد و صول requsdt إلى ActionServlet تحدد ActionServlet ال Action عن طريق ملف struts-config.xml
  • Struts forwards request to the appropriate JSP page
    بعد تحديد action ، يتم تحديد صفحات JSP

و هذا مثال على كود من ملف struts-config.xml

 

<action path="/register2" 
			type="coreservlets.RegisterAction2">
	  <forward name="bad-address" 
			   path="/WEB-INF/results/bad-address.jsp"/>
	  <forward name="bad-password" 
			   path="/WEB-INF/results/bad-password.jsp"/>
	</action>

في هذا المثال هنا عرفنا address اسمه register2.do بحيث لو طلبه المستخدم سوف حوله إالى ActionServlet و من ثم الى Action و اسمه coreservlets.RegisterAction2 فإذا ارجع bad-address فإنه سوف يحوله الى صفحة

WEB-INF/results/bad-address.jsp

و اذا ارجع bad-address فإنه سوف يحوله الى صفحة bad-password.jsp

لندرس كود classs coreservlets.RegisterAction2

	

package coreservlets;

import javax.servlet.http.*;
import org.apache.struts.action.*;

public class RegisterAction2 extends Action {
  public ActionForward execute(ActionMapping mapping,
							   ActionForm form,
							   HttpServletRequest request,
							   HttpServletResponse response)
	  throws Exception {
	String email = request.getParameter("email");
	String password = request.getParameter("password");
	if ((email == null) ||
		(email.trim().length() < 3) ||
		(email.indexOf("@") == -1)) {
	  return(mapping.findForward("bad-address"));
	} else if ((password == null) ||
			   (password.trim().length() < 6)) {
	  return(mapping.findForward("bad-password"));
	} else {
	  return(mapping.findForward("success"));
	}
  }
}

نلاحظ ما يلي أنه يعالج ال request و يؤخذ قيم كلة السر و الإيميل و يعمل عليها التأكد من أنها صحيحة ثم يحوله map معين حتى تذهب الى صفحة jsp المطلوبة

و مع هذا الموضوع و ضعت المثال و اسأل الله عز وجل أن تستفيدوا من هذا المثال

جميل وكمل شرح انا معاك

ومامن كاتب إلا سيفني ويبقي الله ماكتبت يداه

فلا تكتب بيدك غير شئ يسرك في القيامه ان تراه

#4

كلامك صحيح أخ dr_abdalrhman

أعتقد ان javaferas نسي يكتب الفوروارد بتاعة ال success

أو انه مش حاطط الكود كله هنا

هذا الموضوع مغلق.

مواضيع مشابهة