程序员社区

编译指令page、include、taglib

目录

JSP的编译指令用来设置JSP程序和由该JSP程序编译所生成的Servlet程序的属性,告诉引擎如何处理JSP页面中的某些部分。

1.page指令

基本语法

<%@ page 属性1="属性值1" 属性2="属性值2" 属性3="属性值3"%>

 1.1 contentType、pageEncoding属性

<%@ page language="java" contentType="text/html;charset=utf-8" pageEncoding="gbk"%>

编译指令page、include、taglib插图

pageEncoding是jsp文件本身的页面字符编码

charset指定生成的html文件的页面字符编码

如果pageEncoding属性值未设定,默认和contentType属性中的charset一致。

如果charset也不存在,JSP页面就默认采用ISO-8859-1编码

页面出现中文乱码的原因

1.浏览器的解析方式

2.服务器端返回数据的方式

只要保证这两者的编码格式一致即可解决乱码问题。

而浏览器默认编码为utf-8,因此只要设置服务器端返回数据的编码为utf-8即可。

1.2 import属性 

显示导入包,但有些包不需要显示导入: java.lang.*、java.servlet.*、javax.servlet.jsp.*、javax.servlet.http.*

1.3 language属性

声明当前jsp页面使用的脚本语言种类,通常为Java

1.4 extends属性

需要继承的父类

2.include指令

语法:<%@include file="relativeURL"%>

include指令可以将一个外部文件嵌入到当前jsp文件,生成一个完整的页面

这是一个静态的include语句,不会检查嵌入的jsp文件的变化

如果嵌入的jsp文件经常需要改变,建议使用动态指令<jsp:include>

除了import和pageEncoding属性之外,page指令的其他属性不能在这两个页面中有不同的设置值

mainpage.jsp 

<%@ page language="java" pageEncoding="utf-8" %>
<%@ include file="subpage.jsp" %>
<html>
<head>
<title>mainpage.jsp</title>
</head>
<body>
<font size="5">我是主页</font><br>
<%@ include file="subpage.jsp" %>
</body>
</html>

subpage.jsp 

<%@ page language="java" pageEncoding="utf-8" %>
<html>
<head>
<title>subpage.jsp</title>
</head>
<body>
<font size="3">我是副页</font><br>
</body>
</html>

编译指令page、include、taglib插图1

3.taglib指令

在编写JSP页面程序时,除了使用HTML标签,还可以引入JSP标准库中的标签(JSTL)或自定义标签,以便简化JSP页面设计

这些标签封装了相应的处理程序,能够实现较为复杂的功能

<%@taglib%>指令定义一个标签库以及自定义标签的前缀

语法:<%@taglib uri = "taglibURL" prefix="tagPrefix"%>

uri: 定位这个标记库资源的位置

tagPrefix: 标记库的识别符,用以区别用户的自定义动作

下面这个例子引用了标准标签库中的核心标签库, 并用set标签定义变量,用out标签输出变量

tag.jsp

<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<html>
<head>
<title>taglib测试</title>
</head>
<body>
<c:set var="example" value="${100+1}" scope="session"/>
example=<c:out value="${example}" /> 
</body>
</html>

编译指令page、include、taglib插图2

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 编译指令page、include、taglib

一个分享Java & Python知识的社区