java微信公众平台开发教程之文本消息使用超链接(第十三课)

2017年08月03日 19:01 | 1860次浏览 作者原创 版权保护

网页中的超链接

<a href="http://www.vxzsk.com" class="weui_btn_dialog primary">V型知识库weui</a>

上面是一段超链接的代码,表示链接到V型知识库这个网站。其实就是HTML中的a标签在微信文本消息中是如何运用并达到咱们在网页中点击链接跳转到其他页面的效果呢?

怎么把html的a标签嵌入到文本消息中

错误用法:

<a href=http://www.vxzsk.com class="weui_btn_dialog primary">V型知识库weui</a>

上面的代码,href链接地址并没有用双引号,导致消息全部被显示出来。如下图红色2

标注红色1是正确写法,代码如下:

<a href=\"http://www.vxzsk.com\">V型知识库</a>

标注红色2就是我们刚才说的并没有加双引号,导致连a标签的代码也显示出来了。

然后我们还可以看到标注红色3能正确显示出来,并且和红色1效果一样,其实在这里我们给href加的是单引号。

<a href='http://www.vxzsk.com'>我加的单引号2</a>


那么上面图片中的整个效果代码是:

/**
	 * 处理微信服务器发来的消息
	 * 实例源码在文章顶部有下载连接
	 */
	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<String, String> 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("欢迎访问").append("\n");
		buffer.append("<a href=\"http://www.vxzsk.com\">V型知识库</a>").append("\n\n");
		buffer.append("<a href=http://www.vxzsk.com>我没加双引号是错误的1</a>").append("\n\n");
		buffer.append("<a href='http://www.vxzsk.com'>我加的单引号2</a>").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();
         }
	}

第38-45行 是文本消息加超链接的案例代码,第一个a连接和第三个a链接是正确的写法,第二个a连接是错误写法。

案例中用户发送“hh”才会得到链接回复,否则回复“你好我是V型知识库”。

此文章本站原创,地址 https://www.vxzsk.com/74.html   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程