Quantcast
Viewing all articles
Browse latest Browse all 5930

谷哥的小弟学后台(16)——JSP(2)


探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制


Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南


自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理


版权声明


JSP语法

在上一篇博客我们说过:JSP中可以书写Java代码也可以放置Html标签,但是从本质上来说JSP就是一个Servlet,所以我们站在Java的角度来看JSP的语法就会简单许多。

可以利用尖括号和百分号的形式在JSP文件中编写脚本

  • 利用<% %>编写java代码,例如:
<%
    Date date=new Date();
    out.println(date.toLocaleString());
%>

在该脚本中的代码必须严格遵循Java语法且每行代码以分号结束,而且不能出现其它模板元素。因为JSP引擎在翻译JSP页面中会将该脚本中的Java代码将被原封不动地放到_jspService( )中

  • 利用<%= %>实现输出,例如:

<%= 9527+45 %> 等价于out.print(9527+45);

  • 利用<%! %> 表示在类中定义全局成员和静态块

    请注意在<%! %>定义的变量和方法和是全局的,它们会成为JSP对应的Servlet里的全局成员和方法。

  • 利用<%– –%>添加JSP注释,例如:

<%– 这是JSP注释 –%>

  • 利用<!– –>添加Html注释,例如:

<!– 这是网页注释 –>

JSP指令

JSP指令是为JSP引擎而设计的,用于告知JSP引擎如何处理JSP页面中代码。

指令的语法格式:

<%@ 指令名称 属性1=“属性值1” 属性2=“属性值2”…….%>

在JSP2.0规范中一共定义了三个指令:page、include、taglib。
现在来一起学习这三个指令,就从我们最熟悉的page开始。

page指令

page指令用于定义JSP页面的各种属性,比如在创建Web项目的时候系统会自动帮我们生成一个index.jsp,我们来瞅瞅该文件的第一行:

<%@ page language=”java” import=”java.util.*” pageEncoding=”UTF-8”%>

以前看这行代码的时候有点懵懂,现在就清楚了:这就是一个page指令。在该指令中利用language属性指明该jsp文件中是java代码,利用import属性表明为该jsp文件导入了java.util包。说到导包有点人可能有疑惑了:我们没有导入java.lang为什么可以在JSP文件中写一些很基础的代码呢?这是因为系统会自动帮我们导入:

import java.lang.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;

嗯哼,我们看看page指令常用的属性有哪些:

  • session: 是否自动创建session对象,默认值是true
  • errorPage: 假若页面中有错误跳转到指定的资源
  • isErrorPage: 是否创建throwable对象,默认是false
  • contextType: 设置内容类型,等同于response.setContextType()
  • pageEncoding: 告知JSP引擎用什么编码翻译该jsp文件
  • isELIgnored: 是否支持EL表达式,默认是false

include指令

include指令用于把其它资源包含到当前页面中

  • 静态包含:
<%@ include file="xxxxxx.jsp" %>
  • 动态包含:
<jsp:include page="xxxxxx.jsp"></jsp:include>

请注意这两者的区别:
静态包含:在JSP转义时把两个文件合并
动态包含:在JSP转义时不会合并文件当代码执行到include时才包含另一个文件的内容
使用原则:尽量多采用静态包含

taglib指令

taglib指令用于在JSP页面中导入JSTL标签库。在导入JSTL标签库后就可用标签替换JSP中的java代码。

使用方式:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

JSP的动作

今晚先写到这,有些累;明天继续。

作者:lfdfhl 发表于2017/2/13 22:03:13 原文链接
阅读:21 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>