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

سؤال حول ملأ قائمة

بدأه lovely_ned في 25 نوفمبر 2010 · 5 رد · 481 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي صفحة jsp فيها

input text

button

list

اريد عندما اضغط على الزر يظهرلي في list

نتيجة جملة استعلام من الكلاس التالي اللي تعطي arraylist

package test;
import java.awt.List;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import javax.management.Query;

import org.apache.catalina.Session;


public class RechContact 


{
	private String Contact;


	 private ArrayList<ValueCombo> list;
	RechContact(String Contact1)

	{
		Contact = Contact1;
		  list = new ArrayList<ValueCombo>(); 
		Connection con = new BDD().getCon();
		String SqlStr = "Select IDPersonne, (Nom +' ' + Prenom) as contact from personne where Nom like '" + Contact + "' or Prenom Like '" + Contact + "'";

		try {
			Statement st= con.createStatement();
			ResultSet rs= st.executeQuery(SqlStr);
			if(rs.next())
			{
				list.add( new ValueCombo(rs.getInt("IDPersonne"),rs.getString("(Nom +' ' + Prenom)")));

			}
			con.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}



	}


	public  ArrayList<ValueCombo>  getListType()
	{
		return list;
	}





}

package test;

public class ValueCombo  { 
    int ID; 
    String  Val; 

    public ValueCombo (int ID, String Val) { 
            this.ID = ID; 
            this.Val = Val; 
    } 

    public int getID() { 
            return ID;
    } 

    public String getVal() { 
            return Val; 
    }



}

كيف يمكن عمل ذلك

#2

بعض التعليقات في الكود الخاص بك:

package test;
//import java.awt.List;		// invalid import here!
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

//import javax.management.Query;		// do you want to use JPA?? if not, remove this import

//import org.apache.catalina.Session;		// never use this class!!, don't use internal tomcat classes


public class RechContact
{
        private String contact;
		private ArrayList<ValueCombo> list;

        RechContact(String contact1)
        {
                contact = contact1;
                list = new ArrayList<ValueCombo>(); 
                Connection con = new BDD().getCon();
                String SqlStr = "Select IDPersonne, (Nom +' ' + Prenom) as contact from personne where Nom like '" + contact + "' or Prenom Like '" + Contact + "'";

                try {
                        Statement st= con.createStatement();
                        ResultSet rs= st.executeQuery(SqlStr);
                        if(rs.next())
                        {
                                list.add( new ValueCombo(rs.getInt("IDPersonne"),rs.getString("(Nom +' ' + Prenom)")));

                        }
                        con.close();
                } catch (SQLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }        
        }

        public  ArrayList<ValueCombo>  getListType()
        {
                return list;
        }
}

الحكل سيكون كالتالي:

قم بالدوران حول ال select element في ال html و قم بوضع القيم داخلها من القيم العائده من الداله : getListType

1
#3

شكرا عالرد لكن كيف اعمل ذلك هذا هو سؤالي

انا مبتدئة في jsp

يعني كيف يمكن ان اعمل ذلك بالضغط على الزر الموجود في الصفحة

#4

ممكن تستخدمي حاجه زي كده:

package test;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class DataGetterServlet
 */
public class DataGetterServlet extends HttpServlet
{
	private static final long serialVersionUID = 1L;

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException
	{
		// you have to check for null values (etc..)
		request.setAttribute("data", new RechContact(request.getParameter("txt")).getListType());

		request.getRequestDispatcher("index.jsp").forward(request, response);
	}

}

<%@page import="test.ValueCombo"%>
<%@page import="java.util.List"%>
<%@page import="test.RechContact"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!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=windows-1256">
<title>Insert title here</title>
</head>
<body>

<form action="DataGetterServlet" method="post">
<table>
	<tr>
		<td>foobar</td>
		<td><input type="text" name="txt"></td>
	</tr>
	<tr>
		<td>foobar2</td>
		<td><input type="submit"></td>
	</tr>
	<tr>
		<td>foobar3</td>
		<td><select>
			<%
				if (request.getAttribute("data") != null)
				{
					List<ValueCombo> list = (List<ValueCombo>) request.getAttribute("data");
					for (ValueCombo vc : list)
					{
						%>
						<option value="<%= vc.getID()  %>"> <%= vc.getVal() %></option>
						<%
					}
				}
			%>
		</select></td>
	</tr>
</table>
</form>

</body>
</html>

و إن كنت أفضل إستخدام ال JSTL..

#5

كيف يمكن استخدام JSTL

اعطيني فقط الفكرة وساحاول تطبيقها

#6

الأول يجب عليكي أن تقرأي عنها:

/index.php?showtopic=177515

كما إستخدم جوجل

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