- JSP可以通过include指令来包含其他文件,被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分,会被同时编译执行
格式为:
<%@ include file="文件相对 url 地址" %>
<%@ > 指令只是在运行时对所包含的文件进行处理。简单地将文件内容加入到jsp 页面中.从而将俩个文件合并成一个文件,jsp页面与它所包含的文件内容在逻辑和语法上都是独立的,当被包含的文件发生变化时,jsp页面看到的仍然是变化文件之前的内容。被包含的文件不会被jsp编译器编译。
而 <jsp:include>所包含的文件 当jsp页面运行时载入此文件。jsp编译器会对其进行编译。 最简单的验证方式就是 : 使用这俩个指令 引入 一个txt 文件。 txt 文件内含中文。 include 方式引入的文件。即使在 <meta>中做如下设置。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
也是显示乱码。
2.包含一个页面的时候,给下一个页面传递参数
<jsp:include page="1.txt"></jsp:include>
<jsp:include page="hello.jsp">
<jsp:param value="10" name="num"/>
</jsp:include>
在hello.jsp 页面读取参数
<% String string = request.getParameter("num");
String ageString = request.getParameter("age");
out.print("年龄是:" + ageString);
int n = 0 ;
int sum = 0 ;
if(string != null){
out.print(string);
n = Integer.parseInt(string);
for(int i = 1;i <= n; i ++){
sum += i;
out.println(sum);
}
}
%>
<% out.print("运行结果"); %>
<%= sum %>
读取所有参数
Enumeration params = request.getParameterNames(); // 获取所有参数值
while( params.hasMoreElements()){
param = (String) params.nextElement();
out.println("ParamName:" + param + "<br>");
out.println("values:" + request.getParameter(param));
}
3.使用response 进行页面重定向。
在 response.jsp页面对上一个页面输入的数据进行判断,如果输入的数据符合规定。则继续我们的操作逻辑,否则,重定向回 数据录入界面重新输入。
<% String param = "";
request.setCharacterEncoding("gb2312");
param = request.getParameter("userName");
if(param == null){ // 输入的数据为空
param = "";
}
// 使用ISO - 8859 -1 字符集将 参数解码为字节序列,并将结果存储在字节数组中。
byte []b = param.getBytes("ISO-8859-1");
param = new String(b);
if(param.equals("")){
response.sendRedirect("index.jsp");
}else{
out.println("欢迎来到本页面");
}
%>
response 实现的重定向和<jsp:forward>实现的重定向的最大区别为:
<jsp:forward> 动作元素只能在本网站中进行跳转, 而使用response.sendRedirect方法可以跳转到任何一个地址的页面
网友评论