الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

null return value of jsp

بدأه usamaa في 28 مايو 2010 · 8 رد · 646 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام ليكم

عند تنفيذ برنامج بسيط يقوم باخد مدخلات من من صفحة html وتخزينها فى كلاس بيينز ثم عرضها تكون القيم المعروضة null

<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    TODO write content

    <form name="fr" method="POST" action="login.jsp">
        <input type="text" name="name"  value="" />
        <input type="text" name="password" value="" />

<input type="submit" value="summit" />
</form>
  </body>
</html>

دااااااااااااااااااااااااا ال كلاس البينز

package test;
public class been {
     String name;
     String password;
      public void setname(String x){
           this.name=x;
      }
      public String getname(){
          return  this.name;
      }
        public void setpassword(String x){
           this.password=x;
      }
      public String getpassword(){
          return  this.password;
      }


}

ودااااااااااااا ال jsp

 <%@page contentType="text/html" pageEncoding="UTF-8"%>
   <%@page  import="test.been" %>
   <jsp:useBean id="b1" class="test.been" scope="session">

   </jsp:useBean>



<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
        <% out.print(session.getAttribute("password"));
        out.print(session.getAttribute("name"));

        %>
    </body>
</html>

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 28 مايو 2010 في 18:06 — السبب: إضافة الوسم code

#2

رجاء المساعدة فهذا الجزء مترتب عليية الشغل كلة ومازلت لا ادرى اين الخطاء

#3

أنت لم تستخدم session.setAttribute

أولا :Beans

package Beans;

public class bean {
	String name;
    String password;
     public void setname(String x){
          this.name=x;
     }
     public String getname(){
         return  this.name;
     }
       public void setpassword(String x){
          this.password=x;
     }
     public String getpassword(){
         return  this.password;
     }

}

ثانيا الServlet

package Servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import Beans.*;
/**
 * Servlet implementation class login
 */
public class login extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public login() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub



		String usersname = request.getParameter("user");
		String pass = request.getParameter("pas");

		bean user =new bean();
		user.setname(usersname);
		user.setpassword(pass);


		  // store the user and message in the session
	       HttpSession session = request.getSession();

	        session.setAttribute("user",user.getname() );
	        session.setAttribute("pass",user.getpassword());

	        String url = "login.jsp";

	        // forward the request and response to the view
	        RequestDispatcher dispatcher =
	        request.getRequestDispatcher(url);
	        dispatcher.forward(request, response);   







	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request,response);
	}

}

ثالثا: صفحة اJSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@page import="Servlet.*" %>
<%@page import="Beans.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form id="form1" name="form1" method="get" action="login">
  <table width="300" border="0" align="center">
    <tr>
      <td colspan="2"><strong> Login Page</strong> </td>
    </tr>
    <tr>
      <td width="75"> </td>
      <td width="215"><span class="style1"></span></td>
    </tr>
    <tr>
      <td>User Name:  </td>
      <td><input name="user" type="text" id="txtAccount" /></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><input name="pas" type="password" id="txtPassword" /></td>
    </tr>
    <tr>
      <td> </td>
      <td><input type="submit" name="Submit" value="Login" /></td>
    </tr>
  </table>

</form>
<% out.print(session.getAttribute("user"));%>
<% out.print(session.getAttribute("pass"));%>
</body>
</html>

تم تعديل هذه المشاركة بواسطة EMNALI في 29 مايو 2010 في 10:24

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#4

أخي, أسامه,

أعتقد أنك يجب أن تغير الكود الخاص ب <jsp:useBean> في صفحة ال JSP للكود التالي:

<jsp:useBean id="b1" class="test.been" scope="session"/>
<jsp:setProperty name="b1" property="*" />

لاحظ إضافة السطر الثاني.

لمزيد من المعلومات, إقرأ هذه المقاله

أرجو إبلاغنا لو لم تختفي المشلكه...

تم تعديل هذه المشاركة بواسطة {هويدي} في 29 مايو 2010 في 10:48

#5

اشركم على الاستجابة والمجهود@all

1---- الى هويدى لقد استخدمت ال تاج <setproperty > من قبل وظهرت نفس المشكلة وهذا ما دعانى ان اتركها واستخدم ال ال اوبجيكتس الخاصة باالسيرفيليت

(session.getAttribute("password)")

//////////////////////////////////////////////////////

<jsp:setProperty name="newsid" property="*">

</jsp:setProperty>

<%=newsid.getuname()% > >

<%=newsid.getpassworrd() > d

////////////////////////////////////////////////////////////////////

------ الى EMNALI هل لا بد من استخدام Servlet انا اعلم ال ال جى اس بى يحول الى سيرفليت فى النهاية فهل لا بدد من الاستخدام الاثثنين معا اعتقد لا

اذا انا اريد استخدام ال جى اس بى فقط

ما زالت المشكلة موجوووووووووووووووووووودة

#6

بالنسبة للحل الذي وضعته صحيح ويعطي ناتج كما تريد

الطريقة التي انا استخدمتها تسمى MVC هذه الطريق

لو استخدمتها سوف تجد اريحية في التعامل ومعرفة اين الخطأ

وليت تذكر الIDE الذي تستخدمة

تم تعديل هذه المشاركة بواسطة EMNALI في 29 مايو 2010 في 15:27

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#7

netbeans lممكن حل باستخدم الجى اس بى فقط

تم تعديل هذه المشاركة بواسطة usamaa في 29 مايو 2010 في 17:02

#8

تفضل يا اخ أسامة ,وباستخدام الNETBEANS IDE

هذه صفحة الHTML

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
/**
 *
 * @author ALI 
 */
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
   <form id="form1" name="form1" method="get" action="login.jsp">
  <table width="300" border="0" align="center">
    <tr>
      <td colspan="2"><strong> Login Page</strong> </td>
    </tr>
    <tr>
      <td width="75"> </td>
      <td width="215"><span class="style1"></span></td>
    </tr>
    <tr>
      <td>User Name:  </td>
      <td><input name="user" type="text" id="txtAccount" /></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><input name="pas" type="password" id="txtPassword" /></td>
    </tr>
    <tr>
      <td> </td>
      <td><input type="submit" name="Submit" value="Login" /></td>
    </tr>
  </table>

</form>
  </body>
</html>

كود الBEANS

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Beans;

/**
 *
 * @author ALI 
 */
public class bean {

    String name;
    String password;
     public void setname(String x){
          this.name=x;
     }
     public String getname(){
         return  this.name;
     }
       public void setpassword(String x){
          this.password=x;
     }
     public String getpassword(){
         return  this.password;
     }

}

وهذا كود الJSP

<%-- 
    Document   : login
    Created on : May 30, 2010, 9:29:18 AM
    Author     : ALI 
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page  import="javax.servlet.http.HttpSession"%>
<%@page  import="Beans.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">


<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
           <h1>Hello World!</h1>
        <%

         String usersname = request.getParameter("user");
         String pass = request.getParameter("pas");

         bean user =new bean();
         user.setname(usersname);
         user.setpassword(pass);
         session.setAttribute("user",user.getname() );
         session.setAttribute("pass",user.getpassword());

         out.print(session.getAttribute("pass"));

         out.print(session.getAttribute("user"));

        %>
    </body>
</html>

تم تعديل هذه المشاركة بواسطة EMNALI في 30 مايو 2010 في 09:49

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#9

شكراااااااااااااااااااا جزيلاااااااااااااااااااااااااااا

مواضيع مشابهة