xpagesAan de slag met xpages


Opmerkingen

XPages is een web Framework voor IBM Notes-platform. Het werd geïntroduceerd in Lotus Domino 8.5 (moet worden geverifieerd) .

Het is gebaseerd op JSF (JavaServer Faces) met veel nuttige extensies om IBM Notes-gegevens weer te geven en te manipuleren.

IBM biedt een tutorial voor XPages: https://www-10.lotus.com/ldd/ddwiki.nsf/dx/Tutorial-intro-to-XPages.htm

Achter de schermen In backend zijn XPages XML-bestanden die vergelijkbaar zijn met HTML. De Domino-server maakt eindelijk echte HTML en verzendt deze pagina's naar de client. De bedrijfslogica is geïmplementeerd in native JavaScript ("clientside JavaScript - CSJS") en pseudo JavaScript ("serverside JavaScript - SSJS").

Installatie of instellingen

Kortom: XPages is onderdeel van IBM Domino Designer. Extra installatie of installatie is niet vereist voor XPages.


Eerste XPage / Hello-World-voorbeeld

Om uw eerste XPage te maken, moet u eerst een nieuwe NSF maken. Open de IBM Domino Designer en open het menu " Bestand " -> " Nieuw " -> " Toepassing ".

Maak deze instellingen in het pop-upvenster:

  1. Selecteer de server waar de NSF wordt gemaakt (kan ook "lokaal" zijn).
  2. Voer vervolgens een titel in, bijvoorbeeld " Hello World NSF ".
  3. Voer vervolgens een bestandsnaam van uw nieuwe NSF in, bijvoorbeeld " hello-world.nsf ".
  4. Negeer de knop "Encription ..." om de standaardinstellingen te behouden.
  5. Vink de optie " volledige index " aan.
  6. Klik vervolgens op "OK".

De nieuwe NSF is gemaakt.

Klik nu met de rechtermuisknop op sectie "[XPages]" in de applicatienavigator en selecteer " nieuwe XPage ... ".

  1. Voer een titel in voor uw nieuwe XPage, bijvoorbeeld " HelloWorld ". Hiermee wordt een bestand met de naam "HelloWorld.xsp" gemaakt.
  2. Het commentaarveld kan voor dit eenvoudige voorbeeld leeg worden gelaten.
  3. Klik op "OK" en de pagina is gemaakt.

Dubbelklik op uw nieuwe HelloWorld XPage, die u kunt vinden in de sectie "[XPages]".

Selecteer het tabblad "Bron" (die zich onderaan de editor bevindt) en voeg een eenvoudige tekstveldcomponent toe aan uw pagina. Dit zou het resultaat moeten zijn:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" pageTitle="Hello My World">

  <xp:text id="simpleTextField" value="Hello World!!!!" />

</xp:view>
 

Sla de pagina op en bouw het project (klik met de rechtermuisknop op uw applicatie "Hello World NSF" en selecteer het menu-item "build").

Open nu een browser zoals Internet Explorer en navigeer naar de nieuwe XPage van de NSF van uw toepassing. Bijvoorbeeld " http://mydominoserver.com/hello-world.nsf/HelloWorld.xsp " en u zult uw Hello World-tekst zien.

Gebruik externe teksten met message.properties in XPages

Bereiden

Maak eerst een bestand " message.properties " in Resources / Files /. Voorbeeld:

##############
# Test message.properties
##############
label.age=Enter your age:
validate.error.reqired.age=Sorry, but you have to give away the secret of your age ...
 

Verbind vervolgens de resource met uw XPage of Custom Control:

<xp:this.resources>
    <xp:bundle src="/messages.properties" var="appMsg" />
    ....
</xp:this.resources>
 

Opmerking: de "var" definieert de naam die u in uw XPages of Custom Controls wilt gebruiken om naar de berichtenmap te verwijzen.

Gebruik

Nu kunt u de berichtenmap gebruiken met server-side JavaScript ( #{javascript:appMsg.getString('...')} ) of met EL ( #{appMsg['...']} ).

Voorbeeld gebruik:

...
<!-- to show the error message: -->
<xp:messages />

<!-- use with ssjs: -->
<xp:text value="#{javascript:appMsg.getString('label.age')}" escape="false" />

<!-- use with EL: -->
<xe:djNumberSpinner value="#{myDoc.age}" maxLength="2" javaType="int">
    <xp:this.validators>
        <xp:validateRequired message="#{appMsg['validate.error.reqired.age']}" />
    </xp:this.validators>
</xe:djNumberSpinner>
...