webx返回json类型数据
2016-01-25 16:06
716 查看
(1)pipeline配置
(2)screen代码
(3)原理
与普通的servlet返回json一样,先设置contentType="application/json",再写入response即可
在RenderResultJson中:
<when> <!-- 创建JSON,无模板,无layout。 --> <pl-conditions:target-extension-condition extension="json" /> <pl-valves:performScreen /> <pl-valves:renderResultAsJson /> </when>
(2)screen代码
public class SayHello2 { /** 英文 */ public Hello doEnglish() { return new Hello("English", "Hello"); } /** 中文 */ public Hello doChinese() { return new Hello("Chinese", "你好"); } public static class Hello { private String language; private String howToSay; public Hello(String language, String howToSay) { this.language = language; this.howToSay = howToSay; } public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } public String getHowToSay() { return howToSay; } public void setHowToSay(String howToSay) { this.howToSay = howToSay; } } }
(3)原理
与普通的servlet返回json一样,先设置contentType="application/json",再写入response即可
在RenderResultJson中:
public void invoke(PipelineContext pipelineContext) throws Exception { TurbineRunData rundata = getTurbineRunData(request); if (!rundata.isRedirected()) { Object resultObject = consumeInputValue(pipelineContext); //取出返回值 if (resultObject == null) { return; } String javascriptVariable = getJavascriptVariable(); boolean outputAsJson = javascriptVariable == null; if (outputAsJson) { // output as json response.setContentType(getContentType()); //设置contentType='application/json' } else { // output as javascript response.setContentType(getJavascriptContentType()); } PrintWriter out = response.getWriter(); String jsonResult = JSON.toJSONString(resultObject); //序列化 if (outputAsJson) { out.print(jsonResult); //写入response } else { out.print("var "); out.print(javascriptVariable); out.print(" = "); out.print(jsonResult); out.print(";"); } } pipelineContext.invokeNext(); }
相关文章推荐
- js 打印
- js数组去重复的方法
- JSTL 标签库 下载及配置
- JS生成验证码
- jsp中出现小数0.00000004的问题解决办法
- Javascript异步编程之setTimeout与setInterval
- JSONP详解
- JavaScript弹出框alert,confirm,prompt
- Javascript模块化编程--require.js(下)
- Javascript模块化编程--require.js(上)
- javascript中的闭包以及dojo中的dojo.hitch()
- javascript:void(0)的用法讲…
- 在Chrome中调试Javascript
- 在IE浏览器中调试Javascript
- 在VisualStudio中调试Javascript
- javascript之数组操作
- JavaScript申明函数的方法总结
- JSON数据格式的深入理解
- 关于点击空白关闭弹窗的js写法推荐?
- javascript数组遍历for与for in区别详解