سؤال

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

أود أن أعرف ما إذا كان شخص ما يعرف أخطاء تعليمي إدارة في الدعامات. أنا أبحث خصيصا لبرنامج تعليمي (أو مثال) من

<html:errors>

العلامة، التي أعتقد أنها ستحل مشكلتي.

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

المحلول

إليك ملخص سريع. انت تملك ActionForm فئة، ويقول MyForm:

<form-bean name="myForm" type="myapp.forms.MyForm"/>

انت تملك Action فئة، ويقول MyAction:

<action path="/insert" type="myapp.actions.MyAction" name="myForm"
   input="/insert.jsp" validate="true" />
  <forward name="success" path="/insertDone.jsp"/>
</action>

يشير "الاسم" في الإجراء إلى "الاسم" في الفول النموذج. لأنك تملك validate="true" لك ActionForm صف دراسي MyForm يجب أن تحدد validate() الطريقة التي سيتم استدعاؤها تلقائيا:

public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
  ActionErrors errors = new ActionErrors();
  if ((username==null) || (username.length() < 1)) 
      errors.add("username", new ActionError("error.username.required"));
  return errors;
}

إذا أرجع كائن ActionErrors فارغ، فستذهب الدعامات إلى استدعاء myActive.execute (). خلاف ذلك، تعرض الدعامات / STRUTS.jsp (لأن هذا هو الإدخال = Parm الذي قدمته) وتوسيع علامة HTML.Errors لعرض أخطائك من ActionSErrors.

نصائح أخرى

هنا واحد: //struts.apache.org/1.3.5/Struts-taglib/apidocs/org/apache/struts/taglib/html/package-summary.html#package_description

أنا هنا أفترض أن الدعامات 1. لا أعرف ما إذا كان قد تغير من أجل الدعامات 2.

يمكنك وضع أخطاء .HEADER والأخطاء .Footer في ملف موارد الرسائل الخاص بك:

errors.header=<h3><font color="red">Errors:</font></h3><ul>
errors.footer=</ul>

يتم عرض الرأس والتذييل فقط إذا كان كائن ActionErrors لديه أي أخطاء فيها.

في فئة العمل الخاصة بك، قم بذلك:

ActionErrors errors = new ActionErrors();
if (badInput) {
  errors.add(ActionErrors.GLOBAL_ERROR,
    new ActionError("error.bad.input", badString);    // key in messages resource file
                                    // badString will replace {0} in message
}

ثم قبل العودة:

saveErrors(request, errors);

في ملفات رسائلك:

error.bad.input=<li>Bad input:  '{0}' is invalid.</li>

الآن عندما <html:errors/> تتم معالجة العلامة، وسوف تتحول إلى:

<h3><font color="red">Errors:</font></h3><ul>
<li>Bad input: 'xxyyzzz' is invalid.<li>
</ul>

في الدعامات العمل:

ActionErrors errors = new ActionErrors();
errors.add("", new ActionMessage("login.msg.err"));
saveErrors(request, errors);

"hello.msg.err" يحدد في messageBundle.Properties

login.msg.err=Wrong user name or password

في You JSP، سيتم عرض الخطأ بواسطة H: أخطاء:

<h:errors/>

يوضح لك هذا الفيديو خطوة بخطوة وأشرح لك كل هذه الأشياء:https://youtu.be/yccsjtqi72a.

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