سؤال

كتابة صفحة JSP ، ما الذي يفعله بالضبط <c:out> فعل؟ لقد لاحظت أن ما يلي كلاهما له نفس النتيجة:

<p>The person's name is <c:out value="${person.name}" /></p>
<p>The person's name is ${person.name}</p>
هل كانت مفيدة؟

المحلول

c:out يهرب أحرف HTML بحيث يمكنك تجنب البرمجة النصية عبر الموقع.

إذا person.name = <script>alert("Yo")</script>

سيتم تنفيذ البرنامج النصي في الحالة الثانية ، ولكن ليس عند الاستخدام c:out

نصائح أخرى

كما قال ويل فاغنر ، في الإصدار القديم من JSP ، يجب عليك دائمًا استخدام c:out لإخراج النص الديناميكي.

علاوة على ذلك ، باستخدام هذا الجملة:

<c:out value="${person.name}">No name</c:out>

يمكنك عرض النص "No Name" عندما يكون الاسم NULL.

c:out لديه أيضًا سمة لتعيين قيمة افتراضية إذا كانت قيمة person.name يحدث أن يكون فارغا.

مصدر: خارج (توثيق TLDDOC الذي تم إنشاؤه)

يمكنك تمكين الهروب من كيانات XML صراحة باستخدام قيمة ESCAPEXML السمة تساوي صحيحًا. لمعلوماتك ، إنه افتراضي "صحيح".

لم تدعم الإصدارات القديمة من JSP بناء الجملة الثاني.

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