上两节课介绍了微信公众平台开发工具类的开发,这节课呢就用到了,没有读前两节课程的读者建议看前两节课程,当然你可以可以去下载实例代码直接运行 。

使用"\n"换行

回复用户的文本消息换行,使得 消息的可读性,工整性,美观上都比不换行高了一个层级,带来的是更好的用户体验效果,接下来贴出的是doPost方法中的代码片段:/**

* 处理微信服务器发来的消息

* 实例源码在文章顶部有下载连接

*/

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

System.out.println("V型知识库原创www.vxzsk.com");

System.out.println("微信服务器发来消息------------");

// 将请求、响应的编码均设置为UTF-8(防止中文乱码)

request.setCharacterEncoding("UTF-8");

response.setCharacterEncoding("UTF-8");

String respMessage = null;

try{

//xml请求解析

Map requestMap = MessageUtil.parseXml(request);//接收微信发过来的xml格式

//发送方帐号(open_id)

String fromUserName = requestMap.get("FromUserName");

//公众帐号

String toUserName = requestMap.get("ToUserName");

//消息类型

String msgType = requestMap.get("MsgType");

//消息创建时间

String createTime = requestMap.get("CreateTime");

//微信服务器post过来的内容

String weixinContent = requestMap.get("Content");

System.out.println("公众号用户发送过来的文本消息内容:"+weixinContent);

//接下来我们用上一章节自己封装好的工具类

if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {//文本类型 用户回复 “hh” 微信自动回复此条消息

//回复换行的文本消息

TextMessage textMessage = new TextMessage();

textMessage.setToUserName(fromUserName);

textMessage.setFromUserName(toUserName);

textMessage.setCreateTime(new Date().getTime());

textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);

textMessage.setFuncFlag(0);

//回复用户的换行字符串 \n表示换行

StringBuffer buffer = new StringBuffer();

if(weixinContent.equals("hh")){//如果用户发送”hh“

buffer.append("你好我是V型知识库,我的域名是www.vxzsk.com").append("\n\n");

buffer.append("1,微信技术").append("\n");

buffer.append("2,微信WeUi").append("\n");

buffer.append("3,微信蓝牙").append("\n");

buffer.append("4,微信jsapi").append("\n\n");

buffer.append("回复'hh'二字即可能显示此条消息");

}else{

buffer.append("您好我是V型知识库");

}

textMessage.setContent(buffer.toString());

respMessage = MessageUtil.textMessageToXml(textMessage);//转换成xml格式

}

// 响应回复消息

PrintWriter out = response.getWriter();

out.print(respMessage);

out.close();

}catch(Exception e){

e.printStackTrace();

}

}

由于编辑器预览效果和实际效果行数有错位,我在这里说的行数可能对应不上,不过错位行数不多,并不影响阅读。

39-44行代码之间,开头用了两个换行符,结束倒数第二句话用了两个换行符,中间用了一个换行符

效果图如下:

上面代码片段中用到的其他类,在文章顶部有代码下载链接,读者可自行下载,在这里就不在贴出

java推送微信消息换行_微信公众平台开发教程之文本消息如何换行(第十二课)相关推荐

  1. java微信公众号开发教程_微信公众平台开发教程(java版本含代码) 中文PDF版 3.13MB...

    本文档将对即将推出的微信公众帐号开发系列连载教程做简单的说明. 教程主要是面向有一定 Java 编程基础的朋友, 目录: 微信公众帐号开发教程第 1 篇-引言  2 微信公众帐号开发教程第 2 篇-微 ...

  2. 微信公众平台开发教程Java版(六) 事件处理(菜单点击/关注/取消关注)

    前言: 事件处理是非常重要的,这一章讲讲常见的事件处理 1.关注/取消关注 2.菜单点击 事件类型介绍: 在微信中有事件请求是消息请求中的一种.请求类型为:event 而event事件类型又分多种事件 ...

  3. 微信公众平台开发教程(二) 基本原理及消息接口

    微信公众平台开发教程(二) 基本原理及消息接口 一.基本原理 在开始做之前,大家可能对这个很感兴趣,但是又比较茫然.是不是很复杂?很难学啊? 其实恰恰相反,很简单.为了打消大家的顾虑,先简单介绍了微信 ...

  4. Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明

    这里所说的高级接口是指面向通过认证的服务号开通的高级功能. 高级功能大致可以分类为: 用户接口 分组接口 客服接口(有别于之前介绍的多客服) 群发接口 多媒体接口 二维码接口 模板消息接口(不是所有账 ...

  5. 微信公众平台开发教程(四)

    微信公众平台开发教程(五)自定义菜单 请尊重作者版权,如需转载,请标明出处. 应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了 ...

  6. 微信公众平台开发教程--自定义菜单

    微信公众平台开发教程(五)自定义菜单 请尊重作者版权,如需转载,请标明出处. 应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了 ...

  7. 微信公众平台开发教程(四) 实例入门:机器人(附源码)

    微信公众平台开发教程(四) 实例入门:机器人(附源码) 上一篇文章,写了基本框架,可能很多人会觉得晕头转向,这里提供一个简单的例子来予以说明,希望能帮你解开谜团. 一.功能介绍 通过微信公众平台实现在 ...

  8. 微信公众平台开发教程第20篇-新手解惑40则

    笔者在CSDN博客频道推出微信公众平台开发教程之后,接触了许多公众平台开发爱好者,也帮助他们解决了许多实际的问题,当然这其中有很多问题都是重复的,因此,笔者将这些问题及解答整理出来,以帮助更多初学者少 ...

  9. [044] 微信公众平台开发教程第20篇-新手解惑40则

    笔者在CSDN博客频道推出微信公众平台开发教程之后,接触了许多公众平台开发爱好者,也帮助他们解决了许多实际的问题,当然这其中有很多问题都是重复的,因此,笔者将这些问题及解答整理出来,以帮助更多初学者少 ...

最新文章

  1. O2O产品经理,请多关注屏幕之外
  2. 关于:以前的某个程序安装已在安装计算机上创建挂起的文件操作解决办法(SQL2000)...
  3. 牛客 - 牛半仙的妹子Tree(按询问分块+RMQ求LCA)
  4. ajax 12301 原因小结
  5. linux挂载iso文件
  6. 第6/24周 聚集索引
  7. java中static关键字的理解(转载)
  8. **MA2灯光控台的TIMECODE 说明**
  9. 和的区别?以及 0x0f 的含义
  10. 历史文化名城盛开数字化之花
  11. CLion等JetBrains IDE学生认证免费使用流程
  12. python爬虫:新手爬取NASA每日精选图片
  13. 2019计算机学院年会主持稿,2019学校元旦联欢晚会主持词(开场白+结尾)
  14. 跨平台C++框架Qt教程:如何编写地图综合应用-点聚合|附源码
  15. 106.android简单的GPS实时定位
  16. 高并发高流量网站架构
  17. 【C++】面试题目,整理自牛客网
  18. win7安装ubuntu虚拟机
  19. 华为S5720-52X-PWR-LI/S5720-52X-LI交互机堆叠和VLAN配置
  20. Sql条件查询的逻辑判断顺序

热门文章

  1. 视觉欺骗:你绝不会相信A和B颜色相同!
  2. Dell+win10 进入Bios界面设定u盘启动详细图解
  3. Log4j2官方文档翻译--欢迎使用Log4j2!
  4. c语言 教学目标,c语言选择结构程序设计教学目标
  5. nm命令和其内容详解
  6. HCL华三模拟器静态路由实验
  7. A study finds nearly half of jobs are vulnerable to automation
  8. jdk8新特性之出现This inspection finds all usages of methods that have @since tag in their documentation.
  9. 电商之下:服务类商品订单履约系统如何设计
  10. [PTA] 7-11 计算平均分