Si vous souhaitez utilisez un objet qui se situe sur le serveur (database, document...) depuis le client, il existe une syntaxe qui permet d'interpreter les données sur le serveur avant qu'elle ne soient retourné au client.
Pour cela il faut utiliser la syntaxe suivante:
"#{javascript:maformulejscoteserveur()}"
Le # signifie que la valeur est systematiquement mise a jour (a chaque refresh partiel ou total). Il peut etre remplacé par un $, dans ce cas il n'est calculé qu'au chargement initial de la page.
Les accolades delimitent ce qui sera interpreté par le serveur
Enfin le mot clef javascript est obligatoire si vous souhaite executé du javascript, sans ce mot le serveur utilise le language par defaut des JSP, a savoir l'Expression Language.
Exemple:
var dbname = "#{javascript:database.getFileName()}";
sera transformé sur le client par :
var dbname = "chemin/base.nsf"