1.1 jsp注释 JSP中支持两种注释,一种是显式注释,客户端是允许看见的,另外一种是隐式注释,客户端是无法看见的; 显示注释的内容会发送到客户端;隐式注释的内容不会发到客户端;content.jsp :<!-- 这个注释客户端就可以看见 --><!-- ...
1.1 jsp注释
JSP中支持两种注释,一种是显式注释,客户端是允许看见的,另外一种是隐式注释,客户端是无法看见的;
显示注释的内容会发送到客户端;隐式注释的内容不会发到客户端;
content.jsp :
<!-- 这个注释客户端就可以看见 --><!-- JSP中的注释,客户端可以看见 --><% // Java中提供的单行注释,客户端无法看见 /* Java中提供的多行注释,客户端无法看见 */%><%-- 也看不见 --%>
1.2 Scriptlet
在JSP中最重要的部分就是Scriptlet(脚本小程序),所有嵌入在HTML代码中的Java程序都必须使用Scriplet标记出来; 在JSP中一共有三种Scritplet代码: 第一种:<%%>:在此Scriptlet中可以定义局部变量、编写语句 第二种:<%!%>:在此Scritplet中,可以定义全局变量、方法、类 第三种:<%=%>:用于输出一个变量或一个具体内容 scriptlet_demo01.jsp :
<% int x = 10; // 定义局部变量 String info = "www.baidu.com"; // 定义局部变量 out.println("<h2>x = " + x + "</h2>"); // 编写语句 out.println("<h2>info = " + info + "</h2>"); // 编写语句%>
scriptlet_demo02.jsp :
<%! public static final String INFO = "www.MLDNJAVA.cn" ; //定义全局变量 int x = 10 ;%><% out.println("<h2>x = " + x++ + "</h2>") ; // 语句%><%! public int add(int x,int y){ //定义方法 return x + y ; }%><%! class Person{ //定义类 private String name ; private int age ; public Person(String name,int age){ this.name = name ; this.age = age ; } public String toString(){ return "name = " + this.name + ";age = " + this.age ; } }%><% out.println("<h3>INFO = " + INFO + "</h3>") ; out.println("<h3>3 + 5 = " + add(3,5) + "</h3>") ; out.println("<h3>" + new Person("zhangsan",30) + "</h3>") ;%>
scriptlet_demo03.jsp :
<% String info = "www.baidu.com" ; // 局部变量 int temp = 30 ;%><h3>info = <%=info%></h3><h3>temp = <%=temp%></h3><h3>name = <%="luwucheng"%></h3>
尽量不要使用out.put.println()输出,而使用表达式输出;
1.3 scriptlet标签
如果过多的出现<%%>会导致代码的混乱,此scriptlet标签完成与<%%>同样的功能;
scriptlet_tag.jsp
<jsp:scriptlet> String url="www.baidu.com";</jsp:scriptlet><h2><%=url%></h2>
1.4 page指令
指定一个jsp页面的相关属性,包括MIME类型,定义需要导入的包,错误页的指定;
只有import指定可以重复出现多次,其它属性只能出现一次;
常用指令:contentType、pageEncoding、errorPage/isErrorPage、import
语法 :
<%@page 属性="内容"%>
MIME:可以设置打开文件的应用程序类型;指定某个扩展名文件将使用何种应用程序打开的一个说明;
page_demo01.jsp
<%@ page language="java" contentType="text/html;charset=GBK"%><CENTER> <H2> 百度一下</H2> <H3> 网址:www.baidu.com </H3></CENTER>
以上,指定了开发语言是java,通过contentType进行设置,按照HTML文本文件进行显示,页面编码是GBK;
设置页面编码
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
contentType和pageEncoding设置编码的区别:
pageEncoding指的是jsp文件本身的编码;
contentType中的charset指的是服务器发送给客户端的内容编码;
如果一个jsp页面只需要按照网页显示,则使用pageEncoding设置编码即可;
错误页的设置
完成错误页的操作,需要满足两个条件:
指定错误出现时的跳转页,通过errorPage属性指定;
错误处理页必须有明确的标识,通过isErrorPage属性指定;
会出现错误的页面 show.jsp
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%><%@ page errorPage="error.jsp"%><%-- 一旦出现错误之后将跳转到error.jsp中 --%><% int result = 10 / 0 ; // 这里操作将发生异常%><h1>欢迎光临本页面</h1>
错误处理页 error.jsp
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%><%@ page isErrorPage="true"%> <%-- 表示此页面可以处理错误 --%><h1>程序出现了错误!</h1>
错误页的跳转属于服务器端的跳转;
服务器端跳转:页面内容出现了改变,而地址栏并有改变;
客户端跳转:程序跳转后,地址栏发生了变化;
有时可能出现无法跳转的错误页,无法显示error.jsp页面信息,则可能tomcat也认为该页有错误;
解决方式:在error.jsp页面中加入如下语句
<%response.setStatus(200);%>
1.5 包含指令
采用包含的形式,减少代码的重复量;
jsp中可以通过静态包含和动态包含两种方式完成;
静态包含
在jsp编译时插入一个包含文本或代码的文件,过程是静态的;
包含的文件可以是jsp文件,html文件,文本文件或一段java程序(只是简单的将内容合在一起进行显示);
语法:<%@ include file="要包含的文件路径"%>
include_demo01.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%><html><head><title></title></head><body> <h1>静态包含操作</h1> <%@include file="info.htm"%> <%@include file="info.jsp"%> <%@include file="info.inc"%></body></html>
静态包含中,现将三个文件的内容导入到include_demo.jsp中,然后一起编辑,最后呈现一份整体的内容给用户,属于先包含,后编译处理;
动态包含
使用<jsp:include>指令完成动态包含操作;
可自动区分被包含的页面是动态还是静态;
如果是静态,则将内容包容进来进行处理;如果是动态,则先进行动态处理,再将处理后的结果包含进来;
语法:
* 不传递参数
<jsp:include page="{要包含的文件 | <%=表达式%>}" flush="true | false" />
* 包含参数
<jsp:include page="{要包含的文件 | <%=表达式%>}" flush="true | false" >
<jsp:param name="参数名称" value="参数内容" />
....可以向被包含的页面传递多个参数
</jsp:include>
标签指令必须完结;
当flush = false,表示将整个网页全被被读进来以后才输出;
每个jsp的内部都有一个buffer,如果是true,当buffer满了就输出。默认值为true;
采用包含参数语法可向被包含页面传递参数,被包含的页面可使用 request.getParameter()方法进行参数的接收;
被包含页面:receive_param.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%><h1>参数一:<%=request.getParameter("name")%></h1><h1>参数二:<%=request.getParameter("info")%></h1>
包含页,并传递参数: include_demo02.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%><html><head><title>www.mldnjava.cn,MLDN高端Java培训</title></head><body><% String username = "BUGSHI" ; // 定义一个变量%> <h1>动态包含并传递参数</h1> <jsp:include page="receive_param.jsp"> <jsp:param name="name" value="<%=username%>"/> <jsp:param name="info" value="www.baidu.com"/> </jsp:include> <!-- 此处为标签指令,必须完结 --></body></html>
<%@include %> 和<jsp:include />操作相似,采用动态包含更好;
1.6 跳转指令
使用<jsp:forward>指令,将一个用户的请求(request)从一个页面传递到另一个页面的操作;
语法:
* 不传递参数
<jsp:forward page="{要包含的文件名称 | <%=表达式%>}" />
* 传递参数
<jsp:forward page="{要包含的文件名称 | <%=表达式%>}" />
<jsp:param name="参数名称" value="参数内容" />
....可以向被包含页面传递多个参数
</jsp:forward>
跳转指令与动态包含指令的语法相似,只是完成的功能不同;
此种跳转也属于服务器端跳转;
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:JSP基础语法一
关键词:JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。