abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 0
    dnes 17:55 | Nová verze

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 13:44 | Zajímavý článek

    Bylo vydáno do češtiny přeložené číslo 717 týdeníku WeeklyOSM přinášející zprávy ze světa OpenStreetMap.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.10.38 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 5
    dnes 00:22 | Komunita

    Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.

    Ladislav Hagara | Komentářů: 2
    včera 22:22 | IT novinky

    Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.

    Ladislav Hagara | Komentářů: 7
    včera 00:33 | Nová verze

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    4.5. 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    4.5. 13:22 | Nová verze

    Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (62%)
     (8%)
     (15%)
     (15%)
    Celkem 117 hlasů
     Komentářů: 8, poslední 4.5. 08:25
    Rozcestník

    Dotaz: JAVA - propojeni servletu s .JSP

    tomes.io avatar 21.4.2013 21:39 tomes.io | skóre: 12 | blog: tomesh
    JAVA - propojeni servletu s .JSP
    Přečteno: 412×
    Ahoj,

    potrebuju propojit java servlet s JSP souborem. jedna se o formular ,ktery vytvari novou entitu a ja potrebuju dostat data z formulare co uzivatel vlozi do servletu.

    v servletu mam metodu addContact a provadim ji v doGet i v doPost

    Domnivam se, ze problem bude zrejme v nastaveni cesty v jsp souboru. zkousel jsem treba

    <form action="/jmenoServletu/urlPatternServletu" method="post"> ale pri vykonavani metody addContact se nenacetla data z formulare proste se mi to nepropoji... proste potrebuju propojit jsp formular se sevletem a nevim presne co mam napsat do action="????"

    Servlet nejprve vypise seznam entit v db a pak se zobrazi formular pro vytvoreni noveho kontaktu.

    Budu rad za kazde nakopnuti

    Servlet:
    
    @WebServlet(name = "AddressBookServlet", urlPatterns = {"/do"})
    
    public class AddressBookServlet extends HttpServlet {
    
        private GroupManagerImpl groupManager = new GroupManagerImpl();
        private ContactManagerImpl contactManager = new ContactManagerImpl();
       
        @Resource(name = "jdbc/AddressBookManagerWeb")
        private void setDataSource(DataSource dataSource) {
            groupManager.setDataSource(dataSource);
            contactManager.setDataSource(dataSource);
            
        }
    
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
    
            List<Group> groups = groupManager.getAllGroups();
            request.setAttribute("groups", groups);
            List<Contact> contact = contactManager.getAllContacts();
            request.setAttribute("contacts", contact);
            request.getRequestDispatcher("/list.jsp").forward(request, response);
            
        }
        
        protected void addContact(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
            
            
    
                    String name = request.getParameter("name");
                    String surname = request.getParameter("surname");
                    String phoneNumber = request.getParameter("phonenumber");
                    String email = request.getParameter("email");
    
                    //zpracování dat - vytvoření záznamu v databázi
                    try {
                        Contact contact = new Contact();
                        contact.setName(name);
                        contact.setSurname(surname);
                        contact.setPhoneNumber(phoneNumber);
                        contact.setEmail(email);
                        
                        contactManager.createContact(contact);
                        
                    } catch (Exception e) {
                        response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e.getMessage());
                        
                    }
                
            
        }
           
    
     
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
            addContact(request, response);
        }
    
       
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
            addContact(request, response);
        }
    
      
        @Override
        public String getServletInfo() {
            return "Short description";
        }
    }
    Inicializace formulare v jsp souboru. Nejsem s to sem dat celu obsah kvuli tagum, formular mi porad hazi same chyby typu:
    Značky PRE a TH jsou překříženy!
    atd... proste nasleduje klasicky formular pro zadavani parametru
            
    
    
    <form action="/servlet/do" method="post">
    <table>
            <tr>
                Name:
                <td><input type="text" name="name" value="<c:out value='${param.name}'/>"/>TD tag
         
    </form>
    

    Řešení dotazu:


    Odpovědi

    Luboš Doležel (Doli) avatar 22.4.2013 10:31 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: JAVA - propojeni servletu s .JSP
    No, musíte tam dát URL, kam jste ten servlet namapoval. Takže kontext (prefix celé aplikace) + vlastní URL servletu (vidím tam "/do").
    tomes.io avatar 22.4.2013 21:30 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: JAVA - propojeni servletu s .JSP
    Diky, to pomohlo.

    Rad bych se jeste zeptal, jak vicekrat pouzit tentyz parametr z JSP. Jednou ho totiz do servletu dostanu podruhe ne.

    JSP:
     <c:forEach items="${contacts}" var="contact" varStatus="loopStatus">
                 <tr class="${loopStatus.index % 2 == 0 ? 'odd' : 'even'}">
                     <td> <c:out value="${contact.name}"/</td>
                     <td><c:out value="${contact.surname}"/</td>
                     <td><c:out value="${contact.phoneNumber}"/></td>
                     <td><c:out value="${contact.email}"/></td>       
                    
                     <td>
                         <form action="<c:url value="/DeleteContact"/>" method="post">
                            <input type="hidden" id="id" value="${contact.id}" name="id"/>
                            <p><input type="Submit" value="Delete contact" name="submit"/></p>
                        </form>
                            
                        <form action=" <c:url value="/UpdateContact"/>" method="post">
                             <input type="hidden" value="${contact.id}" name="id"/>
                             <p> <a href=" <c:url value="/UpdateContact"/>">Update Contact</a></p>
                        </form>        
                     </td>
                 </tr>
                                
            </c:forEach>
    
    Ja potrebuju do servletu dostat parametr
    id
    Ta nacte ID prislusne entity, takze kdyz chci smazat Contact, tak se mi t odari, v prislusne metode servletu mam:
    Long id = Long.valueOf(request.getParameter("id"));
    Jenze pro
    /Update Contact
    se mi id nepodari dostat. Vraci null. Ten UpdateContact presmerovava na formulat, ktery nacita nova data, ktera budou updatovat atributy entity Contact. V servletove metode pro Update pouzovam tutez metodu pro ziskani ID jako v metode pro delete:
    Long id = Long.valueOf(request.getParameter("id"));
    Jde mi o to, abych mel u kazde entity tlacitko na DELETE nebo UPDATE. Ale pro update se mi z nejakeho duvodu nedari ziskat to ID. Nevedel by nekdo proc?
    tomes.io avatar 23.4.2013 08:21 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: JAVA - propojeni servletu s .JSP
    Tak jsem zjistil, ze problem je v
    href
    tagu:
    http://stackoverflow.com/questions/11913609/hidden-input-in-jsp-produces-null-when-passing-it-to-the-servlet
    A melo by se pouzit submit (tak, jak to mam pro DELETE). Jenze jak to v JSP napsat tak, aby se po kliknuti na SUBMIT do servletu nacetl hidden parametr a zobrazila se stranka s formularem, kam uzivatel vyplni udaje k updatu? Potreboval bych to ze SUBMIT presmerovat na muj .jsp soubor kde je formular pro update.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.