OAuth2.0URL连接多参数时,第一次验证拦截器解析后只会得到第一个参数的问题

/**
	 * 根据code获取Userid后跳转到需要带用户信息的最终页面
	 * 
	 * @param request
	 * @param code
	 *            获取微信重定向到自己设置的URL中code参数
	 * @param oauth2url
	 *            跳转到最终页面的地址
	 * @return
	 */
	@RequestMapping(value = { "/oauth2url.do" })
	public String Oauth2MeUrl(HttpServletRequest request, @RequestParam String code, @RequestParam String oauth2url,String activityId) {
		AccessToken accessToken = QiYeUtil.getAccessToken(Constants.CORPID,Constants.SECRET);
		HttpSession session = request.getSession();
		if (accessToken != null && accessToken.getToken() != null) {
			String weChatId = getMemberGuidByCode(accessToken.getToken(), code, Constants.AGENTID);
			if (weChatId != null) {
				session.setAttribute("weChatId", weChatId);
			}
		}
		// 这里简单处理,存储到session中
		return "redirect:" + oauth2url + "&activityId=" + activityId;
	} 
多参数的url中有“&”符号,过OAuth2Controller时会理解错误,“&”符号后边的参数都不认为是oauth2url中的。比如我的URL有两个参数,第二个为activityId,则需在Oauth2MeUrl方法中多加入String activityId这样的形参便可以接到参数值。
目前我只需要多这一个参数值,若参数情况多变,请在此地方想办法。

你可能感兴趣的:(java,SpringMVC,date,JAVA,OAuth2,OAuth2.0)