Erwthsh Java Servlet

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
altereg0
Δημοσιεύσεις: 10
Εγγραφή: 18 Δεκ 2007 18:31

Erwthsh Java Servlet

Δημοσίευση από altereg0 » 18 Δεκ 2007 18:42

Katarxin na zitisw sygnwmh pou kanw post gia servlet edw alla den iksera pou allou tha borousa na to kanw - eksalou h erwthsh den apefthinete akrivws sta servlets.

Loipon, to provlima roughly exei ws ekshs:

Prospathw na kanw store elinikous xarakthres apo ena textarea se ena arraylist kai apo to arraylist na tous provalw sth selida mou. H selida den exei kanena provlima na provalei tous xarakthres efoswn exw orisei to swsto charset. To provlima yparxei sto textarea h sto form kai otan kanw view afto pou exw kanei store pernw mono erwtimatika stous elinikous xarakthres. Exw xrhsimopiisei tis ekshs parametrous:
h forma mou:

Κώδικας: Επιλογή όλων

<FORM METHOD="POST" ACTION= "/WebModule1/rsrdb" accept-charset="iso-8859-1,iso-8859-7">
to textarea mou:

Κώδικας: Επιλογή όλων

<TEXTAREA name="newstext" rows="20" cols="60" lang="el" WRAP="HARD">"
kserei kaneis ama exw paravlepsei kati h mhpws prepei na prosthesw kapia allh parametro?

efxaristw prokatavolika!

Άβαταρ μέλους
charisl
Δημοσιεύσεις: 13
Εγγραφή: 04 Ιαν 2008 10:55

Erwthsh Java Servlet

Δημοσίευση από charisl » 10 Ιαν 2008 21:22

Den jerw an se bohthaei, alla kati paromoio pou exw kanei alla me posted value se UTF-8 charset to kanw ws ejhs.


public void doGet(HttpServletRequest request, HttpServletResponse response) {
.....
// diabasma posted timhs apo to request
String newsText = request.getParameter("newstext")?

// print posted timh sto response output stream
response.setContentType("UTF-8");
PrintWriter out = response.getWriter();
out.println(new String(newsText.getBytes(),"UTF-8"));

}

anti gia UTF-8, preprei na baleis to diko sou. Den jerw ti ginetai me ta duo charset options pou exeis sto form. Exeis dokimasei na to kaneis me ena th fora?
Charisl.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Erwthsh Java Servlet

Δημοσίευση από cherouvim » 10 Ιαν 2008 22:42

Το θέμα είναι Java, και όχι Javascript.

Μην κάνεις μετατροπή των bytes του String. Σκοπός είναι να το κάνεις σωστά. Οι μετατροπές δεν είναι πάντα πετυχημένες.

Άβαταρ μέλους
charisl
Δημοσιεύσεις: 13
Εγγραφή: 04 Ιαν 2008 10:55

Erwthsh Java Servlet

Δημοσίευση από charisl » 10 Ιαν 2008 23:48

H apanthsh einai se java, apla anti gia doGet eprepe na eixa grapsei doPost ;)

Ti ennoeis gia thn metatroph twn bytes? Nomizw einai kati pou xrhsimopoieitai genika.

An blepei erwthmatika anti gia ellhnika sth selida tou response - pou upotithetai oti exei to swsto encoding- exei na kanei me to gegonos oti to default encoding twn metablhtwn sth java einai unicode, opote kapou xanetai h plhroforia metaju request-store sth mnhmh-response.

anyway, perissoteres leptomereies k ligos kwdikas java tha mas bohthnsei...
Charisl.

altereg0
Δημοσιεύσεις: 10
Εγγραφή: 18 Δεκ 2007 18:31

Erwthsh Java Servlet

Δημοσίευση από altereg0 » 11 Ιαν 2008 03:38

efxaristw poly gia to endiaferon alla h erwtish mou apefthinete se user input se ena text area, oxi ston outputter.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Erwthsh Java Servlet

Δημοσίευση από cherouvim » 11 Ιαν 2008 08:38

Αν φτάσεις στο σημείο να κάνεις new String(newsText.getBytes(),"UTF-8"), σημαίνει οτι κάτι έχει πάει στραβά πιο πριν στο chain και προσπαθείς να το διορθώσεις.

altereg0
Δημοσιεύσεις: 10
Εγγραφή: 18 Δεκ 2007 18:31

Erwthsh Java Servlet

Δημοσίευση από altereg0 » 11 Ιαν 2008 15:30

opa exeis dikio, paw na to koitaksw. tha epanelthw drimiteros an kai elpizw na mhn xriastei:)

pantws prin akoma to dokimasw egw fovame perisotero apo ola mhpws einai provliam tou tomcat

altereg0
Δημοσιεύσεις: 10
Εγγραφή: 18 Δεκ 2007 18:31

Erwthsh Java Servlet

Δημοσίευση από altereg0 » 11 Ιαν 2008 15:46

Apotyxia gia allh mia fora... kai epanerxomai me ligo kodika.
To paradigma einai mia aplh forma epikinwnias pou kanei forward ena email sth diefthinsh tou admin.

H dimiourgia ths formas:

Κώδικας: Επιλογή όλων


        if &#40;Com.equals&#40;"Contact"&#41;&#41; &#123;
            success = true;
            User = req.getParameter&#40;"User"&#41;;
            PageGen.DPTop&#40;res, Com, User, "Φόρμα Επικοινωνίας"&#41;;
            PageGen.DPDisplay&#40;res, Com, User, "<p>Μέσω αυτής της φόρμας μπορέιτε να επικοινωνήσετε απευθίας μαζί μας για οποιοδήποτε θέμα σας ενδιαφέρει.</p>"
                              + "<FORM METHOD=\"POST\" ACTION= \"/WebModule1/rsrdb\" accept-charset=\"iso-8859-7\">"
                              + "<!--"
                              +
                              "<FORM METHOD=\"POST\" ACTION= \"../servlet/rsrDBPackage.RsrDB\" accept-charset=\"iso-8859-7\">"
                              + "-->"
                              +
                              "<INPUT TYPE=\"hidden\" NAME=\"Com\" VALUE=\"DoContact\"> \n"
                              +
                              "<INPUT TYPE=\"hidden\" NAME=\"User\" VALUE=\"" +
                              User + "\"> \n"
                              +
                              "<INPUT TYPE=\"hidden\" NAME=\"Code\" VALUE=\"" +
                              D1RsrDB.AdminSecurityCode + "\"> \n"
                              + PageGen.DPGui&#40;
                                      "<TABLE>"
                                      + "<TR>"
                                      +
                                      "   <TD><p>Θέμα&#58;</p>"
                                      +
                                      "   <TD><INPUT value=\"\" type=\"text\" name=\"mailsubject\" value=\"\">"
                                      + " <TR>"
                                      +
                                      "   <TD><p>Διεύθυνση ή τηλέφωνο επικοινωνίας &#40;αν χρειάζεται απάντηση&#41;&#58;</p>"
                                      +
                                      "   <TD><INPUT value=\"\" type=\"text\" name=\"mailreply\" value=\"\">"
                                      + " <TR>"
                                      +
                                      "   <TD><p>Κυρίως θέμα&#58;</p>"
                                      +
                                      "   <TD><TEXTAREA name=\"mailtext\" rows=\"20\" cols=\"60\" WRAP=\"HARD\">"
                                      + "</textarea>"
                                      + " <TR>"
                                      + "</TABLE>"
                                      +
                                      "<INPUT TYPE=SUBMIT NAME=\"Com\" VALUE=\"Αποστολή\">"
                                      + "</FORM>"
                              &#41;

                              , "Επικοινωνήστε μαζί μας"&#41;;
            PageGen.DPEnd&#40;res, Com, User&#41;;
            return;
        &#125;


To request ths formas:

Κώδικας: Επιλογή όλων

          if &#40;Com.equals&#40;"DoContact"&#41;&#41; &#123;
            success = true;
            User = req.getParameter&#40;"User"&#41;;
            String mailsubject = "";
            String mailtext = "";
            String mailcontact = "";

            try &#123;
                mailsubject = req.getParameter&#40;"mailsubject"&#41;;
                new String&#40;mailsubject.getBytes&#40;&#41;,"iso-8859-7"&#41;;
            &#125; catch &#40;Exception e&#41; &#123;
                mailtext = "Παρακαλώ επεξηγήστε το θέμα επικοινωνίας.";
                PageGen.DPTop&#40;res, Com, User, "Φόρμα Επικοινωνίας"&#41;;
                PageGen.DPDisplay&#40;res, Com, User, PageGen.DPError&#40;mailtext&#41;
                                  + "<p>Μέσω αυτής της φόρμας μπορέιτε να επικοινωνήσετε απευθίας μαζί μας για οποιοδήποτε θέμα σας ενδιαφέρει.</p>"
                                  + "<FORM METHOD=\"POST\" ACTION= \"/WebModule1/rsrdb\" accept-charset=\"iso-8859-7\">"
                                  + "<!--"
                                  +
                                  "<FORM METHOD=\"POST\" ACTION= \"../servlet/rsrDBPackage.RsrDB\" accept-charset=\"iso-8859-7\">"
                                  + "-->"
                                  +
                                  "<INPUT TYPE=\"hidden\" NAME=\"Com\" VALUE=\"DoContact\"> \n"
                                  +
                                  "<INPUT TYPE=\"hidden\" NAME=\"Code\" VALUE=\"" +
                                  D1RsrDB.AdminSecurityCode + "\"> \n"
                                  + PageGen.DPGui&#40;
                                          "<TABLE>"
                                          + "<TR>"
                                          +
                                          "   <TD><p>Θέμα&#58;</p>"
                                          +
                                          "   <TD><INPUT value=\"\" type=\"text\" name=\"mailsubject\" value=\"\">"
                                          + " <TR>"
                                          +
                                          "   <TD><p>Διεύθυνση ή τηλέφωνο επικοινωνίας &#40;αν χρειάζεται απάντηση&#41;&#58;</p>"
                                          +
                                          "   <TD><INPUT value=\"\" type=\"text\" name=\"mailreply\" value=\"\">"
                                          + " <TR>"
                                          +
                                          "   <TD><p>Κυρίως θέμα&#58;</p>"
                                          +
                                          "   <TD><TEXTAREA name=\"mailtext\" rows=\"20\" cols=\"60\" WRAP=\"HARD\">"
                                          + "</textarea>"
                                          + " <TR>"
                                          + "</TABLE>"
                                          +
                                          "<INPUT TYPE=SUBMIT NAME=\"Com\" VALUE=\"Αποστολή\">"
                                          + "</FORM>"
                                  &#41;
                                  , "Επικοινωνήστε μαζί μας"&#41;;
                PageGen.DPEnd&#40;res, Com, User&#41;;
                return;
            &#125;

            try &#123;
                mailcontact = req.getParameter&#40;"mailcontact"&#41;;
                new String&#40;mailcontact.getBytes&#40;&#41;,"iso-8859-7"&#41;;
            &#125; catch &#40;Exception e&#41; &#123;
                mailcontact = "No reply contact given.";
            &#125;

            try &#123;
                mailtext = req.getParameter&#40;"mailtext"&#41;;
                new String&#40;mailtext.getBytes&#40;&#41;,"iso-8859-7"&#41;;
            &#125; catch &#40;Exception e&#41; &#123;
                mailtext = "Παρακαλώ επεξηγήστε τον λόγο επικοινωνίας.";
                PageGen.DPTop&#40;res, Com, User, "Φόρμα Επικοινωνίας"&#41;;
                PageGen.DPDisplay&#40;res, Com, User, PageGen.DPError&#40;mailtext&#41;
                                  + "<p>Μέσω αυτής της φόρμας μπορέιτε να επικοινωνήσετε απευθίας μαζί μας για οποιοδήποτε θέμα σας ενδιαφέρει.</p>"
                                  + "<FORM METHOD=\"POST\" ACTION= \"/WebModule1/rsrdb\" accept-charset=\"iso-8859-7\">"
                                  + "<!--"
                                  +
                                  "<FORM METHOD=\"POST\" ACTION= \"../servlet/rsrDBPackage.RsrDB\" accept-charset=\"iso-8859-7\">"
                                  + "-->"
                                  +
                                  "<INPUT TYPE=\"hidden\" NAME=\"Com\" VALUE=\"DoContact\"> \n"
                                  +
                                  "<INPUT TYPE=\"hidden\" NAME=\"Code\" VALUE=\"" +
                                  D1RsrDB.AdminSecurityCode + "\"> \n"
                                  + PageGen.DPGui&#40;
                                          "<TABLE>"
                                          + "<TR>"
                                          +
                                          "   <TD><p>Θέμα&#58;</p>"
                                          +
                                          "   <TD><INPUT value=\"\" type=\"text\" name=\"mailsubject\" value=\"\">"
                                          + " <TR>"
                                          +
                                          "   <TD><p>Διεύθυνση ή τηλέφωνο επικοινωνίας &#40;αν χρειάζεται απάντηση&#41;&#58;</p>"
                                          +
                                          "   <TD><INPUT value=\"\" type=\"text\" name=\"mailreply\" value=\"\">"
                                          + " <TR>"
                                          +
                                          "   <TD><p>Κυρίως θέμα&#58;</p>"
                                          +
                                          "   <TD><TEXTAREA name=\"mailtext\" rows=\"20\" cols=\"60\" WRAP=\"HARD\">"
                                          + "</textarea>"
                                          + " <TR>"
                                          + "</TABLE>"
                                          +
                                          "<INPUT TYPE=SUBMIT NAME=\"Com\" VALUE=\"Αποστολή\">"
                                          + "</FORM>"
                                  &#41;
                                  , "Επικοινωνήστε μαζί μας"&#41;;
                PageGen.DPEnd&#40;res, Com, User&#41;;
                return;
            &#125;
            if &#40;mailtext.equals&#40;""&#41; || mailtext.equals&#40;" "&#41; ||
                mailtext.length&#40;&#41; < 15&#41; &#123;
                mailtext = "Παρακαλώ επεξηγήστε τον λόγο επικοινωνίας.";
                PageGen.DPTop&#40;res, Com, User, "Φόρμα Επικοινωνίας"&#41;;
                PageGen.DPDisplay&#40;res, Com, User, PageGen.DPError&#40;mailtext&#41;
                                  + "<p>Μέσω αυτής της φόρμας μπορέιτε να επικοινωνήσετε απευθίας μαζί μας για οποιοδήποτε θέμα σας ενδιαφέρει.</p>"
                                  + "<FORM METHOD=\"POST\" ACTION= \"/WebModule1/rsrdb\" accept-charset=\"iso-8859-7\">"
                                  + "<!--"
                                  +
                                  "<FORM METHOD=\"POST\" ACTION= \"../servlet/rsrDBPackage.RsrDB\" accept-charset=\"iso-8859-7\">"
                                  + "-->"
                                  +
                                  "<INPUT TYPE=\"hidden\" NAME=\"Com\" VALUE=\"DoContact\"> \n"
                                  +
                                  "<INPUT TYPE=\"hidden\" NAME=\"Code\" VALUE=\"" +
                                  D1RsrDB.AdminSecurityCode + "\"> \n"
                                  + PageGen.DPGui&#40;
                                          "<TABLE>"
                                          + "<TR>"
                                          +
                                          "   <TD><p>Θέμα&#58;</p>"
                                          +
                                          "   <TD><INPUT value=\"\" type=\"text\" name=\"mailsubject\" value=\"\">"
                                          + " <TR>"
                                          +
                                          "   <TD><p>Διεύθυνση ή τηλέφωνο επικοινωνίας &#40;αν χρειάζεται απάντηση&#41;&#58;</p>"
                                          +
                                          "   <TD><INPUT value=\"\" type=\"text\" name=\"mailreply\" value=\"\">"
                                          + " <TR>"
                                          +
                                          "   <TD><p>Κυρίως θέμα&#58;</p>"
                                          +
                                          "   <TD><TEXTAREA name=\"mailtext\" rows=\"20\" cols=\"60\" WRAP=\"HARD\">"
                                          + "</textarea>"
                                          + " <TR>"
                                          + "</TABLE>"
                                          +
                                          "<INPUT TYPE=SUBMIT NAME=\"Com\" VALUE=\"Αποστολή\">"
                                          + "</FORM>"
                                  &#41;
                                  , "Επικοινωνήστε μαζί μας"&#41;;
                PageGen.DPEnd&#40;res, Com, User&#41;;
                return;
            &#125; else &#123;
                System.err.println&#40;"Contact attempt " + new String&#40;mailtext.getBytes&#40;&#41;,"iso-8859-7"&#41; + mailtext&#41;;
                MailGen.SendMail&#40;D1RsrDB.AdminEmail, mailsubject,
                                 "Main mail body&#58; " + mailtext + "&#40;Reply to&#58; " +
                                 mailcontact + "&#41;"&#41;;

                PageGen.DPTop&#40;res, Com, User,
                              "Επιτυχής αποστολή - Αρχική Σελίδα"&#41;;
                PageGen.DPStart&#40;res, Com, User&#41;;
                PageGen.DPEnd&#40;res, Com, User&#41;;
            &#125;
            return;
        &#125;

Εικόνα

Opws vlepeis kanw orismenes allages ana kairous kai prospathw na dokimasw kathe endexomeno opws sta attributes ths formas - dokimasa kai th dikh sou prosthikh kai eixa ta idia apotelesmata..

:( sad panda

PS: kserw oti o kodikas mou einai asxhmos alla ton ftiaxnw sto telos

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης