微信公众号开发被动回复消息
1、首先,根据要回复什么类型的消息选择模板。
2、因为回复的消息只能事字符串,如上图格式。java中最好的处理方法就是:
以面向对象的思维来处理,总共分三步:
①最好定义一个基础模板,BaseMsg
包含所有的公共属性:然后在建立各种消息类型的子模版
@Setter @Getter @AllArgsConstructor @NoArgsConstructor public class BaseMsg { /*<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType><![CDATA[text]]></MsgType> </xml>*/ @XStreamAlias("ToUserName") private String toUserName ; @XStreamAlias("FromUserName") private String fromUserName ; @XStreamAlias("CreateTime") private String createTime ; @XStreamAlias("MsgType") private String msgType ; } |
@XStreamAlias("xml") public class TextMsg extends BaseMsg{
/*<Content><![CDATA[你好]]></Content>*/ @XStreamAlias("Content") private String content ;
public String getContent() { return content; }
public void setContent(String content) { this.content = content; }
public TextMsg(Map<String, String> map , String content){ super(map); super.setMsgType("text"); this.content = content ; }
} |
②然后将子模板对象转化为xml格式的,这里就需要导入相关jar。
如图所示:xStream就是将对象转化为xml格式的字符串包。
③最后直接利用resp.getWrite().print()直接返回,注意文本类型

浙公网安备 33010602011771号