سؤال

أعلم أنه يمكنك استخدام <jsp:useBean> لإنشاء مثيل للكائنات داخل JSPs دون اللجوء إلى تعليمات برمجية نصية.ومع ذلك، أود إنشاء عدد صحيح تكون قيمته نتيجة تعبير EL، مثل:

<jsp:useBean id="total" class="java.lang.Integer">
    <jsp:setProperty name="amount" value="${param1 + param2}"/>
</jsp:useBean>

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

شكرا ، دون

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

المحلول

<c:set var="amount" value="${param1 + param2}" scope="page" />

نصائح أخرى

ويكون مغلفة البدائية أيضا لا المنشئ الافتراضي بحيث لا يمكنك حتى تهيئة واحد بهذه الطريقة.

وأنا لست متأكدا من أن يفترض EL لاستخدامها بهذه الطريقة. ومن أكثر من لغة القالب. وليس من الواضح ما ميزة ما تحاول أن تفعل ما يزيد على شيء من هذا القبيل:

<%
  Integer total = new Integer(param1 + param2);
%>

وبعد ذلك فقط باستخدام <٪ = المجموع٪> حيث كنت في حاجة إلى قيمة ليكون الناتج. هل يمكن أن تفعل أيضا:

<%
  pageContext.setAttribute("total", new Integer(param1 + param2));
%>

وإذا كنت تريد أن قيمة أن يكون في نطاق الصفحة مثل useBean ستفعل.

إذا كان لديك الفول، يمكنك فقط تحديث الفول مع PARAM1 و 2؟ إنشاء أسلوب، setAmount (PARAM1، PARAM2)، وضعه قبل استخدام getAmount ()، وهو ما الفول يجري الاتصال به.

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