我有一个使用骆驼天气服务的简单应用程序。我可以在控制台中记录结果,但是我想将结果保存在变量中,比如String,所以我可以在JLabel上显示它。
我的路线是:
from("weather:foo?location=Breda,Netherlands&appid=appid")
.to("bean:outPutBean?method=printLn")
.to("stream:out");
此时,outputBean只执行简单的返回。我想在该函数中创建一个JSON解析器。
public class OutputBean {
public String printLn(String msg){
return msg;
}
}
如何在变量中保存路径的结果,以便稍后可以使用这些数据?
编辑: 我的代码现在看起来像:
camelContext.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("weather:foo?location="+ txtCity.getText() + "&mode=xml&units=metric&appid=appid")
.setHeader("temperature", XPathBuilder.xpath("//temperature/@value", String.class))
.to("bean:outPutBean?method=printLn")
.to("stream:out");
}
});
[HERE]
public class OutputBean {
public String printLn(@Header("temperature")String temperature){
return "Output: " + temperature;
}
}
如何在[HERE]处使用温度变化?
答案 0 :(得分:0)
我会这样做。
from("weather:foo?location=Breda,Netherlands&appid=appid") .setHeader("myHeader", "myHeaderValue"); .to("bean:outPutBean?method=printLn") .to("stream:out");
您可以从输入正文或其他地方获取值。
public class OutputBean { public String printLn(@Header("myHeader")String header){ String value = header; return value; }
答案 1 :(得分:0)