2

我尝试在 wso2 的数据分析服务器 (DAS) 中的仪表板设计器 jaggery 应用程序中创建一个新页面。为此,我在 /themes/template 中添加了一个新模板,在本例中为 delete-gadget.jag,我在 /controllers 中添加了一个同名的新控制器 delete-gadget.jag。在 /themes/template 中,我更新了 index.jag 并为 delete-gaget.jag 添加了一个新链接。单击此链接时,应用程序显示 404。

这是我的代码:

在 /controllers/delete-gadget.jag 中:

<%
(function() {
    if (!user) {
        sendLogin();
        return;
    }

    if(userDomain !== (urlDomain || superDomain)) {
        response.sendError(401, 'designer access not authorized of this tenant');
        return;
    }
	
	var configs = require('/configs/designer.json');

    if (!utils.allowed(user.roles, configs.designers)) {
        response.sendError(401, 'designer access not authorized');
        return;
    }

    include(utils.resolvePath('templates/delete-gadget.jag'));
} ()); %>

在 /themes/template/index.jag 中添加新链接:

<li><a href="<%=tenantedUrlPrefix%>delete-gadget">
    <span class="fw-stack">
    <i class="fw fw-ring fw-stack-2x"></i>
    <i class="fw fw-delete fw-stack-1x"></i>
    </span> <%= i18n.localize("delete.gadget.lable")%></a>
 </li>

在此处输入图像描述

当我单击此链接时:

在此处输入图像描述

4

1 回答 1

2

您需要jaggery.conf在 jaggery 应用程序的根文件夹中的文件上添加路由定义。在您的情况下是文件<WSO2DAS_HOME>/repository/deployment/server/jaggeryapps/portal/jaggery.conf. 我建议您首先复制用于创建新小工具的条目,然后进行相关更改。在您的情况下,它将在urlMappings列表中添加以下项目:

{
  "url": "/create-gadget",
  "path": "/routers/tenant.jag"
},
于 2016-04-14T15:37:36.640 回答