ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 跳转指令 [TOC] 在之前学习的跳转中,都是客户端浏览器发起的页面跳转,可以 A 标签、Submit按钮提交、或者 JavaScript 脚本去完成。 ## jsp:forward 使用 jsp:forward 进行服务器端的页面跳转。 ~~~ <% String ageStr = request.getParameter("age"); String name = request.getParameter("name"); int age = Integer.valueOf(ageStr); if (age < 18) { %> <jsp:forward page="n18.jsp?name=<%=name %>"/><!--可能无法获取--> <% } else { %> <jsp:forward page="y18.jsp"> <jsp:param value="<%=name %>" name="name"/> </jsp:forward> <% } %> ~~~ >[info] jsp:forward 属于服务器内部的请求跳转,不会在浏览器的地址栏留下任何跳转的痕迹。 > jsp:forward 动作指令之后的代码是不会执行的。 ## 参数定义 使用 jsp:param 标签传递参数。 对于在浏览器地址栏中直接输入中文参数,可能会因为浏览器的编码问题导致中文参数出现乱码问题。 如果在jsp页面传递参数,可以使用`request.setCharacterEncoding("UTF-8")`设置参数编码格式,防止中文乱码问题 ## 总结 * 地址栏不改变的跳转属于服务器跳转; * 地址栏改变的跳转属于客户端跳转; * 一般使用服务器端的跳转进行业务逻辑的处理,完成目标视图的输出。