Zkusil jsem uvedený postup, vyhazuje NullPointerException na příkazu
String s = e.getComponent().getAttributes().get("nazev_souboru" ).toString();
Nakonec jsem to vyřešil zabalením do commandLinku, kde fungují parametry.
Zůstává nevyřešený bod 2). Jak obnovit stránku, na které je tlačítko pro
uložení souboru?
Po stisknutí tlačítka se vyvolá action metoda, ve které je mimo jiné i
aktualizace příznaku v DB.
Po uložení souboru na disk je zapotřebí aby se aktualizovaný příznak zobrazil
na stránce,
popřípadě aby se zavolala jiná jsp stránka.
K.Novotný
------------ Původní zpráva ------------
Od: Pavel Réder <[EMAIL PROTECTED]>
Předmět: Re: JSF Download souboru - problém s parametry komponenty
t:commandButton a action metodou
Datum: 23.10.2007 13:11:24
----------------------------------------
> 1) nefunguje předání parametru, v action metodě je parametr jmeno_souboru null
> (pokud zabalím commandButton do commandLinku už funguje předání parametru, ale
zobrazuje se
> mi vedle tlačítka vpravo malá pomlčka renderovaná jako link)
Toto chování je v souladu se specifikací JSF, protože komponenta
javax.faces.Button se renderuje jako HTML element "input". Jinými slovy řečeno,
commandButton nepodporuje předávání parametrů přes značku f:param. Co s tím:
1. *místo* značky commandButton použít commandLink a nastylovat jej tak, aby to
vypadalo jako tlačítko,
2. pokud se nechcete vzdát použití značky commandButton, *zkuste* ten parametr
předat pomocí <f:attribute name="nazev_souboru" value="#{bean2.nazevSouboru}">,
do značky commandButton doplňte atribut actionListener="#{bean2.nejakaMetoda}" a
v beanu implementujte tu metodu:
public void nejakaMetoda(ActionEvent e) {
String s = e.getComponent().getAttributes().get("nazev_souboru" ).toString();
}
Pavel