使用 Ballerina 输出 html

Outputtng html by using Ballerina

有什么方法可以使用 Ballerina 语言输出 html 包含一些数据的页面吗?

假设我需要将下面代码中的 "orderid" 字符串显示在 HTML 页面的 H1 标签内..

import ballerina.net.http;
import ballerina.lang.system;

@http:BasePath {value:"/shop"}
service echo {

    @http:GET{}
    @http:Path {value:"/order"}
    resource echoGet (message m, @http:QueryParam {value:"orderid"}string orderid) {
        http:convertToResponse(m);
        system:println("orderid" + orderid);
        reply m;

    }
}

Ballerina 是一种集成语言,因此不支持此类功能。但是,作为替代方案,您可以尝试以下操作。

import ballerina.net.http;
import ballerina.lang.messages;
import ballerina.lang.xmls;

@http:BasePath {value:"/shop"}
service echo {

    @http:GET{}
    @http:Path {value:"/order"}
    resource echoGet (message m,@http:QueryParam {value:"orderid"}string orderid) {
        xml xmlPayload = xmls:parse("<html><h1>" + orderid + "</h1></html>");
        messages:setXmlPayload(m, xmlPayload);
        reply m;
    }
}

构造一个HTML并输出如下回复:

<html>
    <h1>123</h1>
</html>

这仍然不是 HTML,而是构造为 XML 的 HTML。如果您需要在网页中呈现,您可以直接提取 XML 负载以用于您的呈现。

请注意,目前正在重新设计 Ballerina 中的 XML 支持,以提供更好的原生支持。因此,上述示例实现将来可能会发生变化。