探索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–滑动冲突的产生及其处理
版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
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的动作
在此介绍JSP常用的动作
- <jsp:include>
用于动态地把其它资源包含到当前页面中 - <jsp:forward>
用于请求转发 -
<jsp:param>
用于请求转发时携带参数请看如下示例:
<jsp:forward page="/test.jsp"> <jsp:param value="rose" name="name" /> <jsp:param value="23" name="age" /> </jsp:forward>
在此转发至test.jsp且携带了name和age两个参数
<jsp:useBean>
创建一个对象- <jsp:setProperty>
给对象的属性赋值 -
<jsp:getProperty>
取出对象的属性值请看如下示例:
<jsp:useBean id="p" class="cn.com.Person"/> <jsp:setProperty property="name" name="p" value="武疼兰"/> <jsp:getProperty property="name" name="p"/>
在此创建了cn.com.Person类的对象p,且为该对象的name属性赋值