微信公众号开发被动回复消息

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()直接返回,注意文本类型

posted @ 2020-10-22 10:54  黑质白章  阅读(467)  评论(0)    收藏  举报