Avatar billede mik28 Seniormester
21. maj 2004 - 05:45 Der er 8 kommentarer og
1 løsning

Manglende referancer

Jeg kunne godt tænke mig at det så således ud, men mit problem er at jeg ikke kan se hvordan jeg refererer til de variable som skal skrives ud i tabellen

ResultSet rsmb2 = d.select("SELECT navn,adresse,postnr,telefonnr,klubnr,faxnr,hjemmeside,beskrivelse,billederef FROM baner WHERE ID=?", vi);
           
                if(rsmb2.next())
                {
                    ResultSetMetaData rsmd = rsmb2.getMetaData();
                    int antalKolonner = rsmd.getColumnCount();
                   
                    String[] ref = new String[antalKolonner];
                   
                    for (int i=1; i<=antalKolonner; i++) {
                    System.out.println(rsmd.getColumnName(i) + "'s indhold: "+rsmb2.getString(i));
                    ref[i-1] = rsmb2.getString(rsmd.getColumnName(i));
                    }
                // for at gøre det overskueligt hvad det er som bliver hentet
              // String navn          = rsmb2.getString("navn");
              // String adresse        = rsmb2.getString("adresse");
              // String postnr        = rsmb2.getString("postnr");
              // String telefonnr      = rsmb2.getString("telefonnr");
              // String klubnr        = rsmb2.getString("klubnr");
              // String faxnr          = rsmb2.getString("faxnr");
              // String hjemmeside    = rsmb2.getString("hjemmeside");
              // String beskrivelse    = rsmb2.getString("beskrivelse");
               
        //        String greenfee_min  = rsmb2.getString("greenfee_min");
        //        String greenfee_max  = rsmb2.getString("greenfee_max");
        //        String billederef    = rsmb2.getString("billederef");
               
                buffer.append("<table class=\"golfbane_tabel\">\n");
                buffer.append("<tr>\n");
        //        buffer.append("<td><img src=\"./images/"+billederef+"\" class=\"golfbane_billede\"></td>\n");
                buffer.append("<td>\n");
                buffer.append("    <table>\n");
                buffer.append("    <tr>\n");
    //            buffer.append("    <td>"+navn+"</td>\n");
                buffer.append("    </tr>\n");
                buffer.append("    <tr>\n");
    //            buffer.append("    <td>"+adresse+"</td>\n");
Avatar billede arne_v Ekspert
21. maj 2004 - 07:47 #1
Nu er jeg ike sikker på at jeg har forstået problemet.

Men lidt skitseret/forsimplet:

buffer.append("<table>\n");
buffer.append("<tr>\n");
buffer.append("<td>\n");
buffer.append(rsmd.getColumnName(1));
buffer.append("</td>\n");
buffer.append("<td>\n");
buffer.append(rsmb2.getString(1));
buffer.append("</td>\n");
buffer.append("</tr>\n");
buffer.append("</table>\n");

eller:

%>
<table>
<tr>
<td>
<%=rsmd.getColumnName(1)%>
</td>
<td>
<%=rsmb2.getString(1)%>
</td>
</tr>
</table>
<%
Avatar billede mik28 Seniormester
21. maj 2004 - 09:30 #2
Det første :-)
Avatar billede mik28 Seniormester
21. maj 2004 - 09:39 #3
Jeg må indrømme at jeg ikke helt kan gennemskue om det er smart at lave det om. Den del af koden skal bare hente nogle variable og vise dem. Der er ikke noget som skal opdateres i databasen. Som det er nu skriver jeg bare

String navn          = rsmb2.getString("navn");

og sætter navn ind der hvor det skal vises
Avatar billede mik28 Seniormester
21. maj 2004 - 09:43 #4
buffer.append("    <td>"+rsmb2.getString("navn")+"</td>\n");
Avatar billede mik28 Seniormester
21. maj 2004 - 09:45 #5
altså enten eller :-)
Avatar billede arne_v Ekspert
21. maj 2004 - 21:36 #6
Jeg mener klart at den sidste ægte JSP måde er bedst.

Man sparer en masse triviel kode.
Avatar billede rixx Nybegynder
22. maj 2004 - 22:03 #7
skal vi være helt "ægte" JSP skal vi gerne holde os helt fra at have kode i jsp-filerne og istedet bruge taglibs. Så det ville være noget med:

<tag:getTable>
  <table>
  <tag:iterateTableRows>
    <tr>
      <td>
        <tag:getColumnName/>
      </td>
      <td>
        <tag:getColumnValue/>
      </td>
    </tr>
  </tag:iterateTableRows>
  </table>
</tag:getTable>

Som ovenstående forsimplet en del.
Avatar billede arne_v Ekspert
23. maj 2004 - 01:31 #8
JSTL løsningen ligger nu et godt stykke ovenstående.

Men jeg synes ikke at den er ret interessant. Bevares den er moderne. Men
man skal faktisk skrive mere kode end med lidt embedded Java. Det kan
muligvis være en fordel for dem som ikke kan Java, men det kan nok ikke
anvendes på hverken mig eller mik.
Avatar billede arne_v Ekspert
16. juni 2004 - 23:06 #9
Lukke tid ?
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