Navigational Frame Titles
In webforJ, kaikki reitit renderöidään Frame-kontainerissa, joka toimii yläpään säilönä nykyisen reitin sisällön näyttämiseksi. Kun käyttäjät navigoivat eri reittien välillä, Frame-otsikko päivitetään dynaamisesti heijastamaan aktiivista näkymää, mikä auttaa tarjoamaan selkeää kontekstia käyttäjän nykyisestä sijainnista sovelluksessa.
Frame-otsikko voidaan asettaa joko staattisesti annotaatioiden avulla tai dynaamisesti koodissa ajonaikaisesti. Tämä joustava lähestymistapa mahdollistaa kehittäjille otsikoiden määrittämisen, jotka vastaavat kunkin näkymän tarkoitusta, samalla kun ne mukautuvat tarpeen mukaan erityisiin skenaarioihin tai parametreihin.
Frame-otsikko annotaatioilla
Yksinkertaisin tapa asettaa Frame-otsikko näkymässä on käyttää @FrameTitle-annotaatiota. Tämä annotaatio sallii sinun määrittää staattisen otsikon mille tahansa reitti-komponentille, joka sitten sovelletaan Frameen, kun komponentti renderöidään.
@FrameTitle-annotaation käyttäminen
@FrameTitle-annotaatio sovelletaan luokan tasolla ja se sallii sinun määrittää merkkijonon, joka edustaa sivun otsikkoa. Kun reititin navigoi komponenttiin, jossa on tämä annotaatio, määritetty otsikko asetetaan automaattisesti selainikkunalle.
Tässä esimerkki:
@Route
@FrameTitle("Dashboard")
public class DashboardView extends Composite<Div> {
public DashboardView() {
// näkymälogiikka
}
}
Tässä esimerkissä:
DashboardView-luokka on merkitty@Route-annotaatiolla reitin määrittelemiseksi.@FrameTitle("Dashboard")-annotaatio asettaa Frame-otsikon muotoon "Dashboard".- Kun käyttäjä navigoi
/dashboard-reitille, Frame-otsikko päivitetään automaattisesti määrätyn arvon mukaiseksi.
Tämä menetelmä on hyödyllinen reiteille, joilla on staattinen otsikko eikä vaadita usein päivityksiä reitin kontekstista riippuen.
@AppTitle ja @FrameTitleJos sovelluksen otsikko on asetettu, Frame-otsikko sisältää sen. Esimerkiksi, jos sovellus määrittelee otsikon muotoon @AppTitle("webforJ") ja Frame-otsikko on asetettu muotoon @FrameTitle("Dashboard"), lopullinen sivun otsikko on Dashboard - webforJ. Voit mukauttaa lopullisen otsikon muotoa @AppTitle-annotaatiossa format-attribuutin avulla, jos tarpeen.
Dynaamiset Frame-otsikot
Tapauksissa, joissa Frame-otsikon on muututtava dynaamisesti sovelluksen tilan tai reittiparametrien perusteella, webforJ tarjoaa rajapinnan nimeltä HasFrameTitle. Tämä rajapinta mahdollistaa komponenttien tarjoavan Frame-otsikon nykyisen navigointikontekstin ja reittiparametrien perusteella.
HasFrameTitle-rajapinnan toteuttaminen
HasFrameTitle-rajapinta sisältää yhden metodin getFrameTitle(), jota kutsutaan ennen kuin Frame-otsikko päivitetään. Tämä metodi tarjoaa joustavuutta luoda otsikko dynaamisesti navigointikontekstin tai muiden dynaamisten tekijöiden perusteella.
@Route("profile/:id")
public class ProfileView extends Composite<Div> implements HasFrameTitle {
private final Div self = getBoundComponent();
public ProfileView() {
self.add(new H1("Profiilisivu"));
}
@Override
public String getFrameTitle(NavigationContext context, ParametersBag parameters) {
// Aseta dynaaminen Frame-otsikko reittiparametrien avulla
String userId = parameters.get("id").orElse("Tuntematon");
return "Profiili - Käyttäjä " + userId;
}
}
Tässä esimerkissä:
ProfileView-komponentti toteuttaaHasFrameTitle-rajapinnan.getFrameTitle()-metodi luo dynaamisesti otsikon käyttäen URL:nid-parametria.- Jos reitti on
/profile/123, otsikko päivitetään muotoon "Profiili - Käyttäjä 123".
Voit yhdistää sekä staattiset että dynaamiset menetelmät. Jos reittikomponentilla on sekä @FrameTitle-annotaatio että se toteuttaa HasFrameTitle-rajapinnan, dynaamisesti annettu otsikko getFrameTitle()-metodista on etusijalla staattisen arvon yli annotaatiossa.