سؤال

كيف يمكنني تمرير معلمة من useBean للصفحة في JSP إلى servlet في Java؟لدي بعض البيانات في نموذج تم تمريره ولا توجد مشكلة في زر الإرسال، ولكن لا توجد طريقة لإرسال أي شيء آخر.الرجاء المساعدة؟هنا هو الكود الخاص بي:

<input name = "deleteGameButton" type = "submit" value = "Delete"
 onclick = "submitToServlet('DeleteGameServlet');">

هنا هو جافا سكريبت المقابل:

 function submitToServlet(newAction)
 {
   document.userGameForm.action = newAction;
 }

أرغب في أن يتمكن servlet من الوصول إلى userBean

 <jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />
هل كانت مفيدة؟

المحلول

أنت نوع من الفوضى الأشياء هنا.

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

قم بإضافة المزيد من الحقول إلى النموذج، وقم بتعيين قيمها قبل الإرسال، ثم قم بالإرسال.

في Servlet استدعاء request.getParameter("name");

ملاحظة.لأتمتة هذا النوع من الأشياء استخدم الدعامات.:-) Struts تفعل ما تريده بالضبط:قبل تمرير المعلمات إلى الإجراء، يقوم بملء الحبة بهذه المعلمات.بشفافية.

نصائح أخرى

وهذا يعتمد بالضبط ما تحاول القيام به. و

و<jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />

العلامة سوف يسمح لك لاستخدام السمة userBean الدورة في التخطيط الاستراتيجي المشترك الخاص بك. إذا لم تكن هناك سمة userBean في الدورة، فإنه سيتم إنشاء واحدة جديدة (باستخدام منشئ الافتراضي لorg.project.User) ووضعه في الدورة.

وبعد ذلك، عندما تحصل على بريمج، يمكنك الحصول عليه مع:

User user = (User)request.getSession().getAttribute("userBean");
 getServletConfig().getServletContext().getRequestDispatcher("servlet path & name");         
 dispatcher.forward (request, response);

ومرحبا تحاول مع العلامة التالية:

<jsp:useBean id = "userBean" scope = "session" class = "org.project.User"/>
 <jsp:setProperty name="beanName" property="propertyname" value="value"/>
</jsp:useBean>

هنا

وحظا سعيدا!

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