function redirectToOtherDb(targetDb,pageName,docId,action,moreParams) { /* Opens another database on the same server Only the targetDb parameter is required If the XPage name is null but the document UNID is given, then it assumes the document form is associated with an XPage. @param targetDb: Path and database name under data directory without an initial slash, e.g., "intranet/myapp.nsf" @param pageName: Name of XPage without the extension, .e.g., "home" @param docId: The specfic document UNID @param action: One of the common document actions, e.g., "edit" or "read" @param moreParams: Additional parameters in the query string, e.g. "&thisvalue=abc&thatvalue=xyz" If there are no other parameters, you do not need the initial ampersand as in the example. @return: Requested database in same browser window */ var url:XSPUrl = new XSPUrl(database.getHttpURL()); var host:String = url.getHost(); var protocol:String = url.getScheme(); var baseURL:String = protocol + "://" + host + "/" + targetDb; if (targetDb == null) { facesContext.getExternalContext().redirect(url.toString()); } else { if (pageName == null && docId == null) { facesContext.getExternalContext().redirect(baseURL); } else { var pn = (pageName == null || pageName == "") ? "/$$OpenDominoDocument.xsp" : "/" + pageName + ".xsp"; var id = (docId == null || docId == "") ? "" : "documentId=" + docId; var a = (action == null || action == "") ? "" : "&action=" + action + "Document"; var mp = (moreParams == null || moreParams == "") ? "" : moreParams; var q = ( (id + a + mp) == "" ) ? "" : "?"; facesContext.getExternalContext().redirect(baseURL + pn + q + id + a + mp); } } }