2017-06-19 4 views
1

Gibt es eine Möglichkeit, eine HTML-Seite mit einigen Daten in Ballerina Sprache auszugeben?Ausgabe html mit Ballerina

wird angenommen, dass ich die "orderid" string in dem unten stehenden Code müssen in einem H1-Tag in einer HTML-Seite angezeigt werden ..

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; 

    } 
} 

Antwort

0

Ballerina eine Integration Language und daher nicht eine solche Funktionalität nicht unterstützt. Als Alternative können Sie jedoch Folgendes versuchen:

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; 
    } 
} 

Diese konstruiert ein HTML und gibt eine Antwort wie folgt:

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

Dies ist immer noch nicht HTML, sondern eine HTML als XML aufgebaut. Wenn Sie auf einer Webseite rendern müssen, können Sie XML-Payload direkt extrahieren, um sie in Ihrem Rendering zu verwenden.

Bitte beachten Sie, dass die XML-Unterstützung in Ballerina im Moment überarbeitet wird, um eine bessere native Unterstützung zu bieten. Daher kann sich die obige Beispielimplementierung in Zukunft ändern.