传值:
1.jsp传值给Servlet
表单,ajax都行
2.Servlet传值给jsp
在SERVLET 中把对象存入request.setAtribute(“ 别名”, 对象名); 里;再在JSP 中调用request.getAtribute(“ 别名”);
当然还有url传值、session传值;
//传值给jsp
request.setAttribute("errMsg", "错误信息");
//跳转到指定的jsp
//客户端跳转
response.sendRedirect("/a.jsp");
response.sendRedirect("http://www.baidu.com/");
//服务器跳转,内部跳转
request.getRequestDispatcher("/wechatPay.jsp").forward(request, response);
服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),而客户端跳转是指地址栏内容发生改变(客户端向服务器发请求,然后服务器再给客户端一个响应,然后客户端再根据服务器端给的响应中的URL再向服务器发送请求,所以是两次请求,因此地址栏改变了显示最后一次请求地址);
还有一种是写入的形式
//data 是json的格式的字符串,这样的传值jsp一般用ajax获取写入的data数据
PrintWriter out = response.getWriter();
out.println(data);
out.flush();
out.close();
3.jsp、js获取Servlet传过来的值
<%
// 获取由Servlet中传入的参数
String errorMsg=request.getAttribute("errMsg").toString();
%>
<div class="res"><%=errMsg%></div>
<script>
//js获取Servlet的值:${参数名}
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '${appId}', // 必填,公众号的唯一标识
timestamp: '${timestamp}', // 必填,生成签名的时间戳
nonceStr: '${noncestr}', // 必填,生成签名的随机串
signature: '${signature}',// 必填,签名,见附录1
jsApiList: ['chooseWXPay'], // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
</script>