< Předchozí | Další >

Lekce 1.6: Vytvoření aktualizační stránky

V tomto bodě jste vytvořili stránky pro zobrazení a vytvoření výpisů pro webovou stránku. V tomto cvičení vytvoříte stránku, která umožní uživatelům aktualizovat a odstranit výpisy. Aktualizační stránka bude vypadat skoro přesně jako stránka pro vytvoření, krom toho, že na aktualizační stránce budou vstupní pole zobrazovat data z existujícího záznamu, která uživatel změní.

Nejprve vytvoříte relační záznam, který představuje existující záznam v databázi. Dále vytvoříte aktualizační formulář JavaServer Faces pro tento relační záznam a po několika malých změnách bude vaše stránka připravena pro testování.

Vytvoření relačního záznamu pro aktualizaci

  1. Otevřete soubor update_record.jsp poklepáním v pohledu Průzkumník projektů.
  2. Odstraňte předvolený text Předvolený obsah těla.
  3. V pohledu Paleta klepněte na ovladač Dat pro jeho rozbalení.
  4. Přetáhněte Relační záznam z palety na oblast prázdného obsahu. Otevře se okno Přidání relačního záznamu.
  5. V poli Název zadejte update_record.
  6. Pod Vytvořit ovladače pro klepněte na Aktualizace existujícího záznamu.
  7. Ujistěte se, že je vybrána volba Přidat ovladače vstupu/výstupu pro zobrazení relačního záznamu na webové stránce.
  8. Klepněte na Další.
  9. V okénku Tabulka rozbalte W5SAMPLE a vyberte ADS.
  10. Klepněte na Další. Otevře se stránka Přidat relační záznam.

Filtrování výsledků

Relační záznam může zobrazit pouze jeden záznam z databáze. Proto musíte filtrovat tabulku databáze, aby se objevil pouze jeden záznam, který uživatel upraví. (V předchozích cvičeních jste nemuseli filtrovat databázi, protože jste vytvořili nový záznam a proto neexistovaly výsledky z databáze pro filtrování.) Poněvadž každý záznam v databázi má jedinečné číslo ID, budete filtrovat výsledky podle daného čísla ID.

  1. Stránka Přidat relační záznamy obsahuje seznam odkazů na úlohu. Pod odkazem Úlohy klepněte na Filtrovat výsledky. Okno Filtry se otevře a vloží podmínky předvoleného filtru ID = #{param.ID} do sloupce Filtr. Okno Filtry vypadá takto:
    Okno Filtr.
    Tento kód filtruje záznamy v databázi, takže se v relačním záznamu objeví pouze záznam s uvedeným číslem ID. Více informací o této podmínce se dozvíte v sekci Akce přidat řádek, která přijde v tomto cvičení na pořadí později. Klepněte na Zavřít.
  2. Klepněte na Další. Otevře se stránka Obslužné prvky konfigurace dat.
  3. V sekci Pole pro zobrazení vymažte zaškrtávací okénko vedle každého názvu pole kromě těch, které chcete zobrazit ve vašem vstupním formuláři:
    • ID
    • NÁZEV
    • POPIS
    • HLAVNÍKATEGORIE
    • CENA
    • TELEFON
  4. Klepnutím na Nahoru nebo Dolů uspořádejte názvy polí následujícím způsobem:
    • ID
    • NÁZEV
    • POPIS
    • HLAVNÍKATEGORIE
    • CENA
    • TELEFON
  5. Pro pole ID vyberte Výstupní pole z rozbalovacího seznamu ve sloupci Typ ovladače. I když chcete, aby uživatelé mohli zobrazit číslo ID záznamu, nechcete, aby jej mohli aktualizovat. Přeměna pole ID na Výstupní pole zabrání problému duplicitních ID.
  6. Klepněte na Volby. Otevře se okno Volby. Ujistěte se, že je vybraná volba Zadávací tlačítko. Zadejte Aktualizace v poli Štítek. Klepněte na OK. Okno Přidat relační záznam by mělo nyní vypadat takto:
    Okno Přidat relační záznam.
  7. Klepněte na Dokončit, abyste generovali aktualizační formulář na stránce, jak je zobrazeno níže:
    Stránka s aktualizovaným formulářem.

Programování tlačítka pro aktualizaci a odstranění

Opět přidáte kód, který odkáže uživatele na stránku all_records.jsp, kde se zobrazí změněný záznam spolu se všemi ostatními záznamy.

  1. Klepněte pravým tlačítkem myši na tlačítko Aktualizovat, které jste právě vytvořili na webové stránce, a vyberte Vlastnosti.
  2. Klepněte na Přidat pravidlo. Otevře se okno Přidání navigačního pravidla.
  3. V rozevíracím seznamu Stránka vyberte all_records.jsp. V rámečku Toto pravidlo používá klepněte na Pouze tato akce. Ujistěte se, že pole obsahuje: #{pc_Update_record.doUpdate_recordUpdateAction}. Klepněte na OK.
  4. Opakujte kroky 1-3, abyste upravili kód stejným způsobem pro tlačítko Odstranit na webové stránce. Ujistěte se, že pole Toto pravidlo používá obsahuje: #{pc_Update_record.doUpdate_recordDeleteAction}
  5. Uložte stránku. Pokud se chcete pokusit přidat záznam do databáze, abyste ověřili, že se vrátíte na stránku all_records.jsp, spusťte new_record.jsp na testovacím serveru.

Přidání nové akce

Nyní přidáte novou akci řádku na stránku all_records.jsp, takže si uživatel bude moci vybrat záznam v databázi, který aktualizuje. #{param.ID} představuje číslo ID záznamu, který aktualizační stránka aktualizuje. Když uživatel klepne na řádek, číslo ID záznamu se odešle na stránku update_record.jsp jako parametr #{param.ID}. Pak se pouze filtrovaný relační záznam, který jste právě vložili na stránku update_record.jsp, zobrazí pro aktualizaci.

  1. V pohledu Průzkumník projektů poklepejte na soubor all_records.jsp, aby se otevřel v editoru. Klepněte kdekoli uvnitř tabulky dat. Otevřete pohled Vlastnosti.
  2. V pohledu Vlastnosti klepněte na kartu Akce řádku pod odkazem hx:dataTableEx v seznamu značek HTML.
  3. Klepněte na Přidat akci, která se provede, pokud klepnete na řádek. Otevře se dialog Konfigurovat akci řádku. Vyberte Klepnutí na řádek odešle požadavek na server; informace o řádku se odešlou jako parametry, potom klepněte na tlačítko OK. Do tabulky dat se přidá sloupec.
  4. V pohled Vlastnosti klepněte na kartu hx:requestRowAction.
  5. Klepněte na Přidat pravidlo. Otevře se dialog Přidat pravidlo navigace.
  6. V rozevíracím seznamu Stránka vyberte update_records.jsp. V rámečku Toto pravidlo používá vyberte Pouze tato akce. Pole Pouze tato akce se automaticky zaplní parametrem #{pc_All_records.doRowAction1Action}, který byl vytvořen při přidávání akce řádku. Klepněte na OK. Pokud se pole neyaplní automaticky výše uvedenou metodou, zapište ji do pole a přidejte následující do prostředků ClassifiedsTutorial/Java Resources: src/pagecode/All_records.java:
    	public String doRowAction1Action() {
    				return "";
  7. V pohledu Vlastnosti klepněte na kartu Parametr pod hx:requestRowAction. Klepněte na Přidat parametr a pak zadejte ID do pole Název. Musíte svázat parametr ID se sloupcem ID. Svázání akce řádku se sloupcem ID v seznamu dat znamená, že když klepnete na řádek, požadovaný parametr bude ID záznamu v seznamu.
    1. Klepněte na tlačítko Hodnota, potom na Vybrat datový objekt stránky .
    2. Na kartě Datový objekt rozbalte all_recordlist (servisní datové objekty) > all_recordlist (ADS) a vyberte ID (java.lang.Integer).
    3. Klepněte na OK.
Nyní, když uživatel klepne na řádek, webová stránka umožní uživateli aktualizovat informace o krátkém inzerátu. Uložte soubor a otestujte stránku, pokud chcete. Nezapomeňte, že musíte nejprve otevřít all_records.jsp, protože to je stránka, která odkazuje na update_record.jsp.

Kontrolní bod lekce

Dokončili jste lekci 1.6. V této lekci jste se naučili, jak vytvářet webové stránky, které aktualizují záznamy v databázi.

< Předchozí | Další >