Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

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

$
0
0

探索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>