الدعامات التعليمية أو مثال
-
06-09-2019 - |
سؤال
أحاول تقديم صفحة تسجيل الدخول في الدعامات. هذه الفكرة هي التحقق من صحة ما إذا كان المستخدم موجودا، وما إلى ذلك، ثم إذا كان هناك خطأ، فارجع إلى صفحة تسجيل الدخول مع الأخطاء باللون الأحمر (تسجيل الدخول النموذجي أو أي صحة صفحة نموذج).
أود أن أعرف ما إذا كان شخص ما يعرف أخطاء تعليمي إدارة في الدعامات. أنا أبحث خصيصا لبرنامج تعليمي (أو مثال) من
<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.