[JSF] Dynamische Radiobuttons

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Forced
  • Registratie: Juni 2007
  • Laatst online: 14-04 13:17
Beste mensen , voor school zijn we bezig met een website voor reviews.
hierbij moet een dynamische enquete worden weergegeven uit een database.
Hiervoor moet ik bij een bepaald vraagtype 10 radiobuttons weergeven.
zover ben ik dat ik vannuit de code 10 radiobuttons maak en in een layoutpanel zet.

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
for (int i = 1; i <= 11; i++) {
            RadioButton radiobutton = new RadioButton();
            radiobutton.setId("radiobutton" + vraagnr + i);
            radiobutton.setName("" + vraagnr);


            if (i != 11) {
                radiobutton.setValue(i);
            } else {
                radiobutton.setValue("Geen mening");
            }
            pnlenquete.getChildren().add(radiobutton);
        }


hierna wil ik als de mensen klaar zijn met de enquete en op opslaan klikken de selected radio buttons terug krijgen.

Java:
1
2
3
4
for (int i = 0; i < pnlenquete.getChildCount(); i++) {
                    UIComponent uic = pnlenquete.getChildren().get(i);
                    Object waarde = uic.getAttributes().get("value");
                    Object geselecteerd1 = uic.getAttributes().get("checked");


maar object geselecteerd blijft altijd false...

What am i doing wrong >.<"

[ Voor 6% gewijzigd door Forced op 12-01-2009 20:06 ]


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Heb je gechecked of je de juiste variabelen binnen krijgt? Hetzij met GET of POST requests.
(Er van uitgaande dat JSF, JSP moet zijn, Java Server Pages en dus de enquete op een webformulier invult?)

[ Voor 37% gewijzigd door CH4OS op 12-01-2009 20:09 ]


Acties:
  • 0 Henk 'm!

  • Forced
  • Registratie: Juni 2007
  • Laatst online: 14-04 13:17
Debug aan gehad en doorgestept todat ik mijn radiobutton had die ik geselecteerd heb.
en hier krijg op uic.getAttributes().get("checked"); een object Boolean terug die false is. Alsof hij niet geset is , of weg is na de post

Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Erg vreemde opzet.

Ben je bekend met de mogelijkheden van de h:selectOneRadio? Zo ja, waarom gebruik je dit niet? Zo nee, dan zou ik me daar maar eens in verdiepen :)

Acties:
  • 0 Henk 'm!

  • Forced
  • Registratie: Juni 2007
  • Laatst online: 14-04 13:17
Ok leuk "SelectOneRadio"
maar er komen verschillende vragen op 1 pagina met verschillende vraagtypes,
Hoe maak ik dan vannuit mijn code een SelectoneRadio waarin ik de verschillende items kan toevoegen ?

Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Hoezo "Ok leuk"? Verklaar je nader.

Acties:
  • 0 Henk 'm!

  • Forced
  • Registratie: Juni 2007
  • Laatst online: 14-04 13:17
Lijkt op de Radiobuttonlist. maar heb ik al 4 uur mee zitten stoeien, en toen maar apparte radiobuttons zitten maken.


maar het komt er op neer "Naar mijn idee"
dat de componenten vannuit de code gemaakt moeten worden.
zoals ik nu doe.

en waarom is dit dan een rare opzet ?
Hoe zou jij het doen.

Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Ik herken dit niet als een der standaard JSF componenten. Dus je gebruikt een 3rd party component library. Het zou prettig zijn als je ook nog vermeldt welke dat is. Zodoende kan iemand met de juiste ervaring het juiste antwoord geven of desgewenst de juiste documentatie voor jóu opzoeken en op basis daarvan de juiste aanpak uitleggen.

Over de opzet: waarom moeten de componenten vanuit de code gemaakt worden? Dit is alleen maar omslachtig. Ook is jouw manier van value zetten en verkrijgen vreemd. Je maakt geen gebruik van een ValueBinding/ValueExpression. Daarmee kun je JSF de waarde laten koppelen aan een bean property.

Acties:
  • 0 Henk 'm!

  • Forced
  • Registratie: Juni 2007
  • Laatst online: 14-04 13:17
Mijn Componenten moeten naar mijn idee vannuit de code gemaakt worden, omdat ik niet een vast aantal vragen op een pagina heb staan.
ik heb een tabel met vragen die gekoppeld zitten aan een enquete.
een de hand van een enquetenr moeten alle vragen op een pagina gerendered worden.
en dit kunnen vragen zijn met een Cijfer zoals deze "Moet met radiobuttons" anders had ik wel een TextInput gepakt.
maar kan dus ook een keuze zijn van een dropdown of gewoon een freetext antwoord.

En die component library zal dan wel Woodstock zijn..
"zit bij Netbeans"

EDIT: Is het trouwens mogelijk om het type van een child op te vragen via de Getchildren().Get
Als in type bijv: Radiobutton

[ Voor 10% gewijzigd door Forced op 12-01-2009 21:16 ]


Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Forced schreef op maandag 12 januari 2009 @ 21:14:
Mijn Componenten moeten naar mijn idee vannuit de code gemaakt worden, omdat ik niet een vast aantal vragen op een pagina heb staan.

ik heb een tabel met vragen die gekoppeld zitten aan een enquete.
een de hand van een enquetenr moeten alle vragen op een pagina gerendered worden.
en dit kunnen vragen zijn met een Cijfer zoals deze "Moet met radiobuttons" anders had ik wel een TextInput gepakt.
maar kan dus ook een keuze zijn van een dropdown of gewoon een freetext antwoord.
Uhm OK.
En die component library zal dan wel Woodstock zijn..
"zit bij Netbeans"
OK, sorry, ik kan je daar niet mee helpen. Ik heb er geen hands on ervaring mee (bijna niemand op professioneel niveau eigenlijk) en diens documentatie is ondoorgrondelijk. In ieder geval kan ik je vertellen dat je in JSF de 'value' attribuut moet hebben om de geselecteerde waarde te verkrijgen. De juiste manier om deze te verkrijgen is in principe via UIInput#getValue().
EDIT: Is het trouwens mogelijk om het type van een child op te vragen via de Getchildren().Get
Als in type bijv: Radiobutton
In Java gebruik je daar normaliter instanceof voor.

[ Voor 3% gewijzigd door BalusC op 13-01-2009 01:20 ]

Pagina: 1