Primefaces checkboxen

L

Läuschen123

Gast
Morgen Leute,

kann mir jmd erklären, wie die checkboxen in primefaces definiert werden?
Kann das nur in html, das bringt mir aber nichts bei meiner web application.

Ich war schon auf der homepage von primefaces verstehe da die dok aber nicht ganz..

Zu meinem Beispiel bräuchte ich zwei Checkboxen, die eine heisst Bewerber die andere Firma..

Wäre nett wenn mir da jmd ein Beispiel (Pseudocode) o.ä, machen könnte, wäre euch sehr dankbar!:)

Gruss
Läuschen
 
L

Läuschen123

Gast
Ah, war irgendwie woanders auf primefaces da war das komisch erklärt, die Seite verstehe ich aber :)

<p:selectManyCheckbox value="#{formBean.selectedOptions}">
<f:selectItem itemLabel="Bewerber" itemValue="Option 1" />
<f:selectItem itemLabel="Betrieb" itemValue="Option 2" />
</p:selectManyCheckbox>


Hoffe das funkt so, müsste aber :)
 
L

Läuschen

Gast
Jetzt ist mir nur eingefallen, dass wenn ich z.B auswähle:

Absage durch Firma, dann soll das ja ind er datenbank gespeichert werden.
Dafür muss ich mir doch nun eine bean erstellen mit Entities oder?
 

Templarthelast

Bekanntes Mitglied
1. Brauchst du eine Entity
2. Brauchst du ein Bean, das die Eingabe verwaltet und das Enitity in die Datenbank schreibt.

Wie du die Eingabe auslesen kannst steht ja neben den Beispielen.
 

Fant

Bekanntes Mitglied
...und irgendwas mit Methoden würd ich auch noch machen, sonst ist das so langweilig.


1. Brauchst du eine Entity
2. Brauchst du ein Bean, das die Eingabe verwaltet und das Enitity in die Datenbank schreibt.

Man könnte das sicherlicher auch anders umsetzen. Aber Respekt, dass du die Kernfrage erkannt zu haben scheinst ;)
 
Zuletzt bearbeitet:
L

Läuschen

Gast
Jetzt verwirrt ihr mich..

was muss ich denn bei meinem Beispiel alles in die Bean reinschreiben?

Gruss
 

Fant

Bekanntes Mitglied
Die Checkboxen verwirren am Anfang vielleicht noch zusätzlich, deswegen lös das Problem doch zunächst mal mit gewöhnlichen Eingabefeldern...

Wenn du z.B. einfach eine Person verwalten möchtest, etwa mit Vorname, Nachname und Alter, für die du jeweils in einem Formular ein Eingabefeld hast. Wie würdest du es dann umsetzen?

Hast du mal in irgendein Tutorial reingeschaut, in dessen Rahmen eine CRUD-Anwendung erstellt wurde? Wenn nein, dann mach das erstmal.
 
L

Läuschen123

Gast
Nein.. hast du mir da einen Link bitte?
Bin grad ziemlich auf mich allein gestellt beim programmieren.. außer dem Forum hier :)
 
L

Läuschen123

Gast
Habe leider Eclipse.

Ich werde mich die nächsten Tage mal in einen JSF workshop reinsetzen, denke mir fehlen noch ein bisschen kentnisse zu JSF.

Eine andere Frage:

Wenn ich eine Checkbox auswähle, in diesemFall "Bewerber" soll eine andere Checkbox, nehmen wir einfach mal als Beispiel "Unternehmen" gesperrt sein.

Ich versuche das grade mit einem ajax request...:

<p:ajax event="click" update="unternehmen"/>

Da fehlen aber noch glaue ich ein paar Sachen.. kannst mir da weiterhelfen?
 

Fant

Bekanntes Mitglied
Du kannst in deiner BackingBean einen Boolean bereitstellen, in dessen Abhängigkeit du die zweite Checkbox aktivierst oder deaktivierst. Beim Klick auf deine erste erste Checkbox setzt du den Wert dieses Boolean entsprechend und renderst die zweite Checkbox neu.

Oder du löst das mit reinem JavaScript auf Client-Seite. Das würd ich hier vielleicht sogar vorziehen.
 

Fant

Bekanntes Mitglied
Hier kannst du auch mal reinschauen:
www.ziemers.de | Tutorial-Eintrag

Dieses Tutorial ist zwar nicht unbedingt auf dem aktuellsten Stand, aber wie ich finde sehr schön und leicht verständlich geschrieben und daher gerade für den Einstieg gut zu gebrauchen. Ist aber auch wieder für NetBeans geschrieben. Vielleicht findest du da ja trotzdem was hilfreiches...
 

Fant

Bekanntes Mitglied
Deine Fragen sind immer so kurz und knapp... versuch doch mal ein wenig genauer zu formulieren, wo es hapert.

Mit deinem zuvor geposteten Code
HTML:
<p:ajax event="click" update="unternehmen"/>
renderst du auf den Ajax-Event hin die Komponente mit der ID unternehmen neu.
 
L

Läuschen123

Gast
Sorry, ich versuche mich besser auszudrücken :)

Wenn ich das ajax event jetzt so habe verstehe ich das mit dem update.

Nun muss ich ja aber eine Methode mit einbringen bzw in xhtml das event, dass beim Anklicken des einen Radio buttons der andere "disabled" wird, ich glaube das heißt auch genau so.

Wo muss ich das jetzt in der ajax Zeile reinpacken?

Gruss & Danke!
 

Fant

Bekanntes Mitglied
HTML:
<p:ajax event="click" update="unternehmen" listener="#{myBean.macheEtwas}" />

Und in deiner Bean hast du dann eine Methode
Java:
public void macheEtwas() {
    // Hier passiert was ganz tolles
}

Die getter-Methode des zu der anderen Komponente gehörenden Attributs hat damit erst mal nichts zu tun. Überhaupt würde ich Programmlogik in getter/setter-Methoden eher vermeiden.
 
L

Läuschen123

Gast
Genau der Listener hat noch gefehlt :)

wenn meine buttons nun so aussehen:

<p:selectManyCheckbox value="#{formBean.selectedOptions}">
<f:selectItem itemLabel="Unternehmen" itemValue="unternehmen" />
<f:selectItem itemLabel="Bewerber" itemValue="bewerber" />
</p:selectManyCheckbox>


würde ich den ajax befehl nach der ersten checkbox reinmachen, sprich:


<p:selectManyCheckbox value="#{formBean.selectedOptions}">
<f:selectItem itemLabel="Unternehmen" itemValue="unternehmen" />
<p:ajax event="click" update="unternehmen" listener="#{myBean.macheEtwas}" />
<f:selectItem itemLabel="Bewerber" itemValue="bewerber" />
</p:selectManyCheckbox>

, stimmt das so vom Verständnis?
Läuschen
 
L

Läuschen123

Gast
Hat sich geklärt, sieht nun richtiger aus und passt auch.

Das Einzige Problem..:

Wie soll denn meine Methode überhaupt aussehen, dass die andere checkbox disabled wird?

nehme mal an vom typ boolean
 

Ähnliche Java Themen

Neue Themen


Oben