从 database.getfilepath 美化我的 URL

beautify my URL from database.getfilepath

在我的 xpages 应用程序中,我想根据角色重定向用户。然而,计算出的 URL 导致路径名

中带有 %5C 的丑陋 URL
var baseURL = context.getUrl().toString().split(facesContext.getExternalContext().getRequest().getRequestURI())[0];

var path =escape(database.getFilePath());

if (context.getUser().getRoles().contains("[Administrator]") || context.getUser().getRoles().contains("[SuperAdmin]") || context.getUser().getRoles().contains("[Ledamot]")){
    facesContext.getExternalContext().redirect(baseURL + slash + path + "/employees.xsp?sorting=asc")
}else{
    context.redirectToPage("index.xsp")
}

这会产生如下结果::https://server/directory%5cdatabase.nsf/employees.xsp?sorting=asc

%5c 是一个反斜杠,所以你要做的就是用正斜杠替换文件路径中的反斜杠。所以这样的事情应该有效:

database.getFilePath().replace("\", "/");

由于您要重定向到同一个数据库,因此可以这样计算 url 前缀(主机 + 数据库路径):

context.getUrl().toString().split(view.getPageName())[0]