Avatar billede gorlist Nybegynder
07. december 2001 - 16:26 Der er 8 kommentarer og
1 løsning

Overblik til kommunikation mellem .jsp\'er

Jeg har en .html side hvor jeg gerne vil have vist nogle kunder fra en database ud fra de indtastede kriterier (nummer, navn, telefon).

Hvordan bærer jeg mig ad med at sende resultaterne tilbage til .html siden når jeg har hentet dem fra databasen?

<html>
<head>
<title>Kundekartotek</title>
</head>
<p align=\"center\"><font size=\"7\">Kundekartotek</font></p>
<form method=\"POST\" action=\"get.jsp\">
  <p align=\"center\">Kundenummer <br>
  <input type=\"text\" name=\"editnr\" size=\"20\"></p>
  <p align=\"center\">Kundenavn <br>
  <input type=\"text\" name=\"editnavn\" size=\"20\"></p>
  <p align=\"center\">Kundetelefon <br>
  <input type=\"text\" name=\"edittelefon\" size=\"20\"></p>
  <p align=\"center\"><input type=\"submit\" value=\"Søg\" name=\"buttonnummer\">
</form>
</body>
</html>

*************************************************

<%@ page language=\'java\' %>
<%@ page import=\"java.sql.*\"%>

<body>
<table border=1 cellpadding=0 cellspacing=0>
<tr> <td> Nummer </td>
    <td> Navn </td>
    <td> Telefon </td>
</tr>
<%
  org.gjt.mm.mysql.jdbc2.Connection con=null;
  String sql =\"select * from Kunde\";
  String db = \"jdbc:mysql://127.0.0.1:3306/Kunde?user=&password=\";

  Class.forName(\"org.gjt.mm.mysql.Driver\").newInstance();
  con = (org.gjt.mm.mysql.jdbc2.Connection) DriverManager.getConnection(db);
  Statement database=con.createStatement();
  ResultSet rs=database.executeQuery(sql);
while (rs.next()) {
  int n = rs.getInt(\"nummer\");
  String nr = rs.getString(\"navn\");
  String t = rs.getString(\"telefon\"); %>
  <tr>  <td> <%= nr %> </td>
        <td> <%= n %> </td>
        <td> <%= t %> </td>
  </tr>
<%}
%>
</table>
Avatar billede erikjacobsen Ekspert
07. december 2001 - 16:41 #1
Du skal vel ikke \"sende dem tilbage til HTML-siden\". Med din JSP-side
laver du en ny samling HTML som er resultatet af forespørgslen. Rent
funktionelt ser det da ganske fornuftigt ud.
Avatar billede gorlist Nybegynder
07. december 2001 - 19:05 #2
Jamen det ville da være bedre hvis det blev vist på samme side, så man nemt kan foretage en ny søgning.
Avatar billede erikjacobsen Ekspert
07. december 2001 - 19:08 #3
Jah, det vil det. Men så skal du kun have din .jsp side. Den skal indeholde
formularen, og du skal så kunne se om du kommer på siden uden der er
tastet noget ind, eller fordi der er tastet noget ind.
Avatar billede meo Nybegynder
08. december 2001 - 02:39 #4
Hvis både input og out skal på samme side!
Kan du kalde html siden (som skal laves om til .jsp) på din form altså hvis jsp siden hedder soegside.jsp skal du skrive <form method=\"POST\" action=\"soegside.jsp\">

Derefter kan du bruge if-else som erikjacobsen siger!!

Men det jeg klart kan anbefale er at du laver to sider. Den første som en indtast-side (som du har gjort) og den anden side som get.jsp -siden hvor du includer soegsiden. På den måde kan brugen efter at have søgt, lave en ny søgning under søgeresultatet!!

 

Avatar billede meo Nybegynder
08. december 2001 - 02:54 #5
<%@ page language=\'java\' %>
<%@ page import=\"java.sql.*\"%>

<body>
<table border=1 cellpadding=0 cellspacing=0>
<tr> <td> Nummer </td>
    <td> Navn </td>
    <td> Telefon </td>
</tr>
<%
  org.gjt.mm.mysql.jdbc2.Connection con=null;
  String sql =\"select * from Kunde\";
  String db = \"jdbc:mysql://127.0.0.1:3306/Kunde?user=&password=\";

  Class.forName(\"org.gjt.mm.mysql.Driver\").newInstance();
  con = (org.gjt.mm.mysql.jdbc2.Connection) DriverManager.getConnection(db);
  Statement database=con.createStatement();
  ResultSet rs=database.executeQuery(sql);
while (rs.next()) {
  int n = rs.getInt(\"nummer\");
  String nr = rs.getString(\"navn\");
  String t = rs.getString(\"telefon\"); %>
  <tr>  <td> <%= nr %> </td>
        <td> <%= n %> </td>
        <td> <%= t %> </td>
  </tr>
<%}
%>
</table>
<%@ include=\"soegside.jsp\" %>//include søgsiden så brugeren kan lave en ny søgning
Avatar billede erikjacobsen Ekspert
08. december 2001 - 06:52 #6
Jeg har ikke lige overskue dit forslag, meo - ikke på denne tid af dagen ... :)

Men en \"god\" søgeside lader - som du siger - brugeren søge videre, efter at
have fået det første svar, men lader også søgekriterierne stå i felterne, hvis
der nu blot skal redigeres lidt i dem. Kan du det på din måde?
Avatar billede meo Nybegynder
09. december 2001 - 00:42 #7
Nej ikke med det som jeg har lavet, men man kunne bruge sessions til at gøre det!
Avatar billede erikjacobsen Ekspert
09. december 2001 - 00:44 #8
..eller nøjes med én .jsp side :)
Avatar billede meo Nybegynder
09. december 2001 - 00:49 #9
Ja som du nævte tidligere!! I forgot it!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester