Avatar billede mikmakmuk Nybegynder
08. januar 2003 - 11:05 Der er 11 kommentarer og
1 løsning

servlet med dropdownboks

Hej Eksperter,

Jeg har lavet følgende servlet og den virker sådan set også næsten som den skal. Mit problem er at jeg ikke kan finde ud af hvordan jeg for den page som er blevet valgt sidst til at være selected i dropdownboksen?


import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class Editpage extends HttpServlet
    {
      // doPost is used to alter the content on the edit page
        public void doPost (HttpServletRequest request,
                      HttpServletResponse response)
        throws ServletException, IOException
        {
       
        PrintWriter        out;
          String page = request.getParameter("page");
         
          System.out.println(page);
          if (page == null) {
              page = "start";
          }
             
         
          out = response.getWriter();
       
        response.setContentType("text/html");
           
        Databaseforbindelsemysql d = new Databaseforbindelsemysql("jdbc:mysql://URL/DB?user=USER","org.gjt.mm.mysql.Driver");
         
          try {
          ResultSet rs    = d.select("SELECT content FROM pages WHERE name = '"+page+"'");
          if (rs.next())
          {
             
              String content  = rs.getString("content");
              out.println("<HTML><HEAD><TITLE></TITLE>");
            out.println("<link rel='stylesheet' type='text/css' href='../style/styles.css'>");
            out.println("</head>");
            out.println("<BODY>");
           
            out.println("<div class='margin1'>");
           
            out.println("<form method='post' name='form' action='Editpage' style='display:inline;'>");
            out.println("<select name='page'>");
            out.println("<option value='start'>Start");
            out.println("<option value='news'>News");
            out.println("<option value='mrtls'>the Mrtls");
            out.println("<option value='credit'>Credit");
            out.println("<option value='contact'>Contact");
            out.println("</select>");
            out.println("<input type='submit' class='button1' name='Vis' value='Vis'>");
            out.println("</form>");
           
            out.println("<form method='post' name='form' action='Edit' style='display:inline;'>");
           
            out.println("<input type='hidden' name='page' value='"+page+"'>");
            out.println("<textarea name='content' cols='75' rows='15'>");
            out.println(content);
            out.println("</textarea><br>");
            out.println("<input type='submit' class='button1' name='Update' value='Update'>");
            out.println("</div>");
            out.println("</form>");
            out.println("</BODY></HTML>");
        }
       
        else
        {
        System.out.println("No records in resultset");
        }
       
        } catch (SQLException s) {
                out.println("<h3>SQL fejl: " + s.toString() + " "
                + s.getErrorCode() + " " + s.getSQLState() + "</h3>");
        }
   
        out.close();
        d.close();
        }
   
       
        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
        {
        }
}
Avatar billede miknil Nybegynder
08. januar 2003 - 11:11 #1
Noget i stil med:
out.println("<option value='news' "+page.equals("news")?"Selected":""+">News");
Det skal du så have for alle dine <option>'s

Mik
Avatar billede mikmakmuk Nybegynder
08. januar 2003 - 11:13 #2
det prøver jeg lige
Avatar billede mikmakmuk Nybegynder
08. januar 2003 - 11:16 #3
D:\tomcat4.0\webapps\mortallovetest\WEB-INF\classes\Editpage.java:45: incompatible types
found  : java.lang.String
required: boolean
            out.println("<option value='news' "+page.equals("news")?"Selected":""+">News");
                                                          ^
Avatar billede miknil Nybegynder
08. januar 2003 - 11:19 #4
Smid lige en parantes rundt om, så du får:
out.println("<option value='news' "+(page.equals("news")?"Selected":"")+">News");
Avatar billede mikmakmuk Nybegynder
08. januar 2003 - 11:27 #5
FEDT!!!! Det virker. Kan du også fortælle mig hvordan jeg får den til at submitte formen onchange så jeg slipper for den der vis knap
Avatar billede mikmakmuk Nybegynder
08. januar 2003 - 11:38 #6
Tak for hjælpen Mik

Venlig Hilsen

Mik
Avatar billede mikmakmuk Nybegynder
08. januar 2003 - 11:38 #7
*lol*
Avatar billede miknil Nybegynder
08. januar 2003 - 11:42 #8
Prøv at ændre din select til noget i denne retning.

out.println("<select name='page' onChange='java script:document.form.submit()'>");

og selv tak :-)

Mik
Avatar billede mikmakmuk Nybegynder
08. januar 2003 - 11:47 #9
Det kunne men ikke
Avatar billede miknil Nybegynder
08. januar 2003 - 11:53 #10
Der mangler et semikolon efter submit() så

out.println("<select name='page' onChange='java script:document.form.submit();'>");

burde virke

Mik
Avatar billede mikmakmuk Nybegynder
08. januar 2003 - 11:58 #11
Det virker nu :-)))
Avatar billede miknil Nybegynder
08. januar 2003 - 12:00 #12
Kanon :-)
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