Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.
Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.
@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:
<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
idTa 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 Contactse 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?
hreftagu:
http://stackoverflow.com/questions/11913609/hidden-input-in-jsp-produces-null-when-passing-it-to-the-servletA 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.
Tiskni
Sdílej: