Päivitys versioon 25.00
Tämä dokumentaatio toimii oppaana webforJ-sovellusten päivittämiseksi versiosta 24.00 versioon 25.00. Tässä ovat vaatimukset olemassa oleville sovelluksille, jotta ne voivat jatkaa sujuvaa toimintaa. Kuten aina, katso GitHubin julkaisu-yhteenveto saadaksesi kattavamman listan muutoksista versioiden välillä.
Jetty 12 web-palvelimet
webforJ 25.00 ja korkeammat versiot käyttävät Jetty 12:ta, joka perustuu Jakarta EE10 servlet-arkkitehtuuriin. Jos käytät Jetty Maven -lisäosaa kehityksessä, siirry Jakarta EE8:sta Jakarta EE10:een. Tämä päivitys vaatii myös kaiken, mikä tuki javax.servlet-pakettia, korvaamisen Jakarta.servlet-paketilla.
POM-tiedoston muutokset
Ennen
<plugin>
<groupId>org.eclipse.jetty.ee8</groupId>
<artifactId>jetty-ee8-maven-plugin</artifactId>
<version>10.x.xx</version>
Jälkeen
<plugin>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-maven-plugin</artifactId>
<version>12.x.xx</version>
API-muutokset App-luokassa
Useita vanhentuneita App-menetelmiä on poistettu versiossa 25.00. Seuraavat osiot kuvaavat, mitä menetelmiä on korvattu ja suositellut korvaukset.
Konsolilokitus
Apuluokka BrowserConsole, joka on omistettu tyylikkäiden lokien luomiseen selainkonsoliin, korvasi consoleLog() ja consoleError() -menetelmät. Hanki BrowserConsole käyttämällä console()-menetelmää:
public class Application extends App{
@Override
public void run() throws WebforjException {
console().log("Lokiviesti");
console().error("Virheviesti");
}
}
Web-tallennus
Versioissa, ennen webforJ 25.00, App-luokassa oli menetelmät getLocalStorage(), getSessionStorage(), ja getCookieStorage() saadakseen instanssit LocalStorage, SessionStorage ja CookieStorage -luokista. Tulevaisuudessa jokaisella luokalla on getCurrent()-menetelmä.
Katso Web Tallennus lisätietoja varten.
Request-luokka
Request-luokka on nyt vastuussa sovelluksen URL-osoitteen, portin, hostin ja protokollan hankkimisesta. Joten käyttäessäsi App.getUrl(), käytä App.getCurrent().getUrl(). getCurrent()-menetelmä korvasi myös getRequest()-menetelmän saadakseen instanssin Request-luokasta.
Request-luokassa on myös poistettuja metodeja, siirry Request nähdäksesi ne.
Page-luokka
getPage()-menetelmä on korvattu Page.getCurrent()-menetelmällä saadakseen nykyinen sivu.
Valinta-dialiit
Sen sijaan, että käyttäisit msgbox()-menetelmää, käytä OptionDialog.showMessageDialog() luodaksesi viestidialoja.
Sovelluksen lopetus
cleanup()-menetelmä on poistettu. Nyt on kaksi menetelmää lopetuksille, onWillTerminate() ja onDidTerminate().
Katso Hooks for termination lisätietoja varten.
Taulukon lajittelu
webforJ 25.00 ja korkeammat versiot käyttävät oletuksena yhden sarakkeen lajittelua taulukoissa. Sarakkeet lajitellaan vain viimeksi valitun sarakeotsikon mukaan. Jotta taulukko käyttäisi monisarakkeista lajittelua, kutsu setMultiSorting() -menetelmää:
table.setMultiSorting(true);
Piilotettu TabbedPane-keho
hideBody()-menetelmä on korvattu setBodyHidden()-menetelmällä, jotta menetelmien nimikäytännöt pysyvät johdonmukaisina.
HTML:n renderöinti komponenteissa
webforJ 25.00 ja korkeammat versiot sisältävät setHtml()-menetelmän, joka auttaa erottamaan komponentin sisällä asetettavan kirjaimellisen ja HTML-tekstin. HTML:n asettaminen setText()-menetelmällä on edelleen mahdollista, mutta nyt se vaatii erikseen <html>-tageihin kääretyn tekstin.
// Kelvolliset käytöt setText() ja setHtml()
Button home = new Button();
home.setText("""
<html>
<h1>Koti</h1>
</html>
""");
home.setHtml("<h1>Koti</h1>");
home.setText("Koti");
// Kelvottomat käytöt setText() ja setHtml()
Button home = new Button();
home.setText("<h1>Koti</h1>");
HTML-kontit
com.webforj.component.htmlcontainer-pakettia ei enää ole webforJ:ssä. Käytä sen sijaan monipuolisempaa com.webforj.component.element-pakettia. Lista webforJ-luokista standardeille HTML-Elementeille löytyy HTML Element Components.
Request muutokset
-
Aivan kuten
getCookieStorage()-menetelmän poistaminenApp-luokasta,Request-luokalla ei enää olegetCookie()-menetelmää. Tämä vahvistaaCookieStorgage.getCurrent()-menetelmän käyttöä saadakseen instanssinCookieStorage-luokasta. -
getQueryParam()-menetelmä on nytgetQueryParameter().
WebforjBBjBridge muutokset
WebforjBBjBridge-instanssin hankkiminen
Environment-luokassa ei enää ole getWebforjHelper()-menetelmää, joten käytä getBridge() sen sijaan.
ConfirmDialog komponentin käyttäminen msgbox()-menetelmälle
Aikaisemmissa webforJ-versioissa käytettiin suoraan merkkijonoja ja kokonaislukuja WebforjBBjBridge- msgbox()-menetelmälle. Kuitenkin viestit WebforjBBjBridge-sovelluksessa webforJ 25.00 ja korkeammissa versioissa käyttävät ConfirmDialog komponenttia. Tämä antaa enemmän hallintaa siitä, mitkä painikkeet näytetään ja millaista viestiä käytetään.
Ennen
Environment environment = Environment.getCurrent();
WebforjBBjBridge bridge = environment.getWebforjHelper();
int msgboxResult = bridge.msgbox("Oletko varma, että haluat poistaa tämän tiedoston?", 1, "Poisto");
Jälkeen
Environment environment = Environment.getCurrent();
WebforjBBjBridge bridge = environment.getBridge();
ConfirmDialog dialog = new ConfirmDialog(
"Oletko varma, että haluat poistaa tämän tiedoston?", "Poisto",
ConfirmDialog.OptionType.OK_CANCEL, ConfirmDialog.MessageType.QUESTION);
int msgboxResult = bridge.msgbox(dialog);
PasswordMediation kirjoitusvirheen korjaus
Enum-luokka PasswordMediation, jota käytetään osoittamaan, vaaditaanko käyttäjältä kirjautuminen joka käynnistyksellä sovelluksessa, jossa on Login-komponentti, sisältää kirjoitusvirheen aiemmissa webforJ-versioissa. SILENT korvasi kirjoitusvirheen SILIENT webforJ 25.00 ja korkeammissa versioissa.
Itsestään keskittymisen menetelmät
WebforJ:n johdonmukaisuuden säilyttämiseksi menetelmät kuten setAutofocus() ja isAutofocus() saavat nyt yhdenmukaisen päättämisen kuten HasAutoFocus -rajapinta. Joten komponentit kuten Dialog ja Drawer käyttävät setAutoFocus() ja isAutoFocus() versioissa 25.00 ja korkeammissa.
BBjWindowAdapter ja Panel merkitty final
BBjWindowAdapter ja Panel -luokat on nyt merkitty final, mikä tarkoittaa, etteivät niitä voi enää periyttää. Tämä muutos parantaa vakautta ja vahvistaa johdonmukaisia käyttökaavoja.
Planning an upgrade?
Ask the team what this release changes for your app.

