XPages es un framework web para la plataforma IBM Notes. Se introdujo en Lotus Domino 8.5 (debe ser verificado) .
Se basa en JSF (JavaServer Faces) con muchas extensiones útiles para representar y manipular datos de IBM Notes.
IBM ofrece un tutorial para XPages: https://www-10.lotus.com/ldd/ddwiki.nsf/dx/Tutorial-intro-to-XPages.htm
Detrás de las escenas En el backend, las páginas XP son archivos XML que son similares a HTML. El servidor de Domino finalmente hace HTML real y envía estas páginas al cliente. La lógica de negocios se implementa en JavaScript nativo ("clientside JavaScript - CSJS") y pseudo JavaScript ("serverside JavaScript - SSJS").
En resumen: XPages es parte de IBM Domino Designer. No se requiere configuración adicional o instalación para XPages.
Para crear su primera página XP, primero debe crear un NSF nuevo. Abra el IBM Domino Designer y abra el menú " Archivo " -> " Nuevo " -> " Aplicación ".
En el diálogo emergente, realice estos ajustes:
Hello World NSF
". hello-world.nsf
". Se crea el nuevo NSF.
Ahora haga clic con el botón derecho en la sección "[XPages]" en el navegador de aplicaciones y seleccione " nueva XPage ... ".
HelloWorld
". Esto creará un archivo llamado "HelloWorld.xsp". Haga doble clic en su nueva HelloWorld XPage, que puede encontrar en la sección "[XPages]".
Seleccione la pestaña "Fuente" (que se encuentra en la parte inferior del editor) y agregue un componente de campo de texto simple a su página. Este debería ser el resultado:
<?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>
Guarde la página y genere el proyecto (haga clic con el botón derecho en su aplicación "Hello World NSF" y seleccione la entrada del menú "build").
Ahora, abra un navegador como Internet Explorer y navegue a la nueva página XPF de su aplicación NSF. Por ejemplo, " http://mydominoserver.com/hello-world.nsf/HelloWorld.xsp " y verá su texto Hello World.
Primero cree un archivo " message.properties
" en Recursos / Archivos /. Ejemplo:
##############
# Test message.properties
##############
label.age=Enter your age:
validate.error.reqired.age=Sorry, but you have to give away the secret of your age ...
A continuación, conecte el recurso con su XPage o Control personalizado:
<xp:this.resources>
<xp:bundle src="/messages.properties" var="appMsg" />
....
</xp:this.resources>
Nota: la "var" define el nombre que desea usar en sus páginas XPage o controles personalizados para hacer referencia al mapa del mensaje.
Ahora puede usar el mapa de mensajes con JavaScript del lado del servidor ( #{javascript:appMsg.getString('...')}
) o con EL ( #{appMsg['...']}
).
Ejemplo de uso:
...
<!-- 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>
...