使用 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 支持,以提供更好的原生支持。因此,上述示例实现将来可能会发生变化。
有什么方法可以使用 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 支持,以提供更好的原生支持。因此,上述示例实现将来可能会发生变化。