Ik ben op dit moment bezig met een, tot zover, standaard website met een database eraan gekoppeld. Op dit moment is het niet meer dan een redelijke CRUD uitwerking.
Ik heb een ManagedBean die RequestScoped is (dat laatste is een eis). Om op dit moment te gaan van de web-pagina met een overzicht van alle entiteiten in de database naar een pagina die bijvoorbeeld alle velden laat zien van 1 entiteit gebruik ik op dit moment de volgende methode:
List.xhtml:
- In een dataTable
- Maak ik een link: view.xhtml?id=#{row.id}
ManagedBean:
- @ManagedProperty(value = "#{param.id}")
- In de @PostConstruct gebruik ik de ID om de entiteit op te halen
Dit werkt prima, maar de ID is gewoon zichtbaar en aanpasbaar in de URL. Dat wil ik graag veranderen zodat dit niet meer het geval is. Maar de oplossingen die ik tot nu toe gevonden heb gaan vrijwel altijd uit van een session scoped managed bean (zoals bijv. bij deze 4 mogelijkheden).
Ik zie op dit moment 2 mogelijkheden om dit te bewerkstelligen:
1. De parameter moet op een andere manier worden doorgegeven aan de view.xhtml pagina. Ik zou misschien een form kunnen maken van die link waarmee de ID wel mee kan worden gegeven maar deze niet te zien is
2. Ik zorg ervoor de ID bewaart blijft buiten de request-scoped managed bean. Misschien dat een static variabele al genoeg zou zijn.
Maar misschien mis ik wel iets, of er is al een 'echte' oplossing voor wat ik hier probeer te doen. Daarom leek het me handig om voordat ik van alles ga aanpassen (ik kan m'n code thuis niet testen) om wat input te vragen.
Ik heb een ManagedBean die RequestScoped is (dat laatste is een eis). Om op dit moment te gaan van de web-pagina met een overzicht van alle entiteiten in de database naar een pagina die bijvoorbeeld alle velden laat zien van 1 entiteit gebruik ik op dit moment de volgende methode:
List.xhtml:
- In een dataTable
- Maak ik een link: view.xhtml?id=#{row.id}
ManagedBean:
- @ManagedProperty(value = "#{param.id}")
- In de @PostConstruct gebruik ik de ID om de entiteit op te halen
Dit werkt prima, maar de ID is gewoon zichtbaar en aanpasbaar in de URL. Dat wil ik graag veranderen zodat dit niet meer het geval is. Maar de oplossingen die ik tot nu toe gevonden heb gaan vrijwel altijd uit van een session scoped managed bean (zoals bijv. bij deze 4 mogelijkheden).
Ik zie op dit moment 2 mogelijkheden om dit te bewerkstelligen:
1. De parameter moet op een andere manier worden doorgegeven aan de view.xhtml pagina. Ik zou misschien een form kunnen maken van die link waarmee de ID wel mee kan worden gegeven maar deze niet te zien is
2. Ik zorg ervoor de ID bewaart blijft buiten de request-scoped managed bean. Misschien dat een static variabele al genoeg zou zijn.
Maar misschien mis ik wel iets, of er is al een 'echte' oplossing voor wat ik hier probeer te doen. Daarom leek het me handig om voordat ik van alles ga aanpassen (ik kan m'n code thuis niet testen) om wat input te vragen.