Xpages 从database.getfilepath美化我的URL

Xpages 从database.getfilepath美化我的URL,xpages,ssjs,Xpages,Ssjs,在我的xpages应用程序中,我想根据角色重定向用户。但是,计算出的URL会导致路径名中有%5C的丑陋URL var baseURL = context.getUrl().toString().split(facesContext.getExternalContext().getRequest().getRequestURI())[0]; var path =escape(database.getFilePath()); if (context.getUser().getRoles().co

在我的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")
}

这会产生如下结果::

%5c是反斜杠,因此您需要做的是将文件路径中的反斜杠替换为正斜杠。因此,类似这样的方法应该有效:

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

%5c是反斜杠,所以您要做的是用正斜杠替换文件路径中的反斜杠。因此,类似这样的方法应该有效:

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

由于要重定向到同一个数据库,因此可以按如下方式计算url前缀(主机+数据库路径):

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

由于要重定向到同一个数据库,因此可以按如下方式计算url前缀(主机+数据库路径):

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

这是因为您正在转义文件路径,但为什么?这是因为您正在转义文件路径,但为什么?