Java Web笔记 – JSP的语法和相关指令语法原理分析 编译器指令 动作语法 声明指令
2012-11-24 18:07
573 查看
1、JSP的语法:
1.1、JSP的三种语法:
1.1.1、编译器指令(DIRECTIVE):
包含指令,页指令,taglib指令
包含在<%@ %>卷标里
两个主要的指令page include
1.1.2、脚本语法:
1.1.3、动作语法:
<jsp:forward>
参数可以从另外一个页面的getParameter方法获取。
在指令后的所有代码都不会执行,而直接跳转到另外一个页面进行执行。
<jsp:forward>实际上是调用了PageContext的forward方法。
<jsp:include>
参数可以从另外一个页面的getParameter方法获取。
request的getRequestDispatcher和getRequestDispatcher的forward方法说明:
请求转发,保存了ServletRequest中setAttribute的参数,可以使用这种方法传递参数:
在同一个请求里面,可以使用getParameter方法获取setAttribute方法设置的参数。
1.2、注释:
HTML注释:<!-- -->
隐藏注释:<%-- --%> 不发送到客户端
1.3、表达式:
等号开头,不用分号作为结尾。
1.4、声明语句:
声明和脚本段转换为Servlet代码的位置是不一样的,声明语句定义的变量会方法成员变量的位置,而脚本段中的变量会转换为局部变量。每个用户都会访问到成员变量,而脚本段的局部变量每个用户保存一个副本,互不影响。声明语句的变量在重新刷新页面时不会被重新定义,所以在_jspService方法中修改的状态是会保留下来的。
对于Servlet来说,是单例模式的。
但是这种声明语句用的比较少,因为这种需求不是很多。
1.1、JSP的三种语法:
1.1.1、编译器指令(DIRECTIVE):
<%@ page import="java.io.*"%>
包含指令,页指令,taglib指令
包含在<%@ %>卷标里
两个主要的指令page include
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <%@ include file=""%>
1.1.2、脚本语法:
1.1.3、动作语法:
<jsp:forward>
<jsp:forward page=""> <jsp:param name="username" value="arthinking" /> </jsp:forward>
参数可以从另外一个页面的getParameter方法获取。
在指令后的所有代码都不会执行,而直接跳转到另外一个页面进行执行。
<jsp:forward>实际上是调用了PageContext的forward方法。
<jsp:include>
<jsp:include page=""> <jsp:param name="username" value="arthinking" /> </jsp:include>
参数可以从另外一个页面的getParameter方法获取。
request的getRequestDispatcher和getRequestDispatcher的forward方法说明:
请求转发,保存了ServletRequest中setAttribute的参数,可以使用这种方法传递参数:
req.setAttribute("username", "arthinking"); RequestDispatcher rd = req.getRequestDispatcher("message.jsp"); rd.forward(req, resp);
在同一个请求里面,可以使用getParameter方法获取setAttribute方法设置的参数。
getRequestDispatcher public RequestDispatcher getRequestDispatcher(String path)
The default behavior of this method is to return getRequestDispatcher(String path) on the wrapped request object.
Specified by: getRequestDispatcher in interface ServletRequest
Parameters: path - a String specifying the pathname to the resource. If it is relative, it must be relative against the current servlet.
Returns: a RequestDispatcher object that acts as a wrapper for the resource at the specified path, or null if the servlet container cannot return a RequestDispatcher
See Also: RequestDispatcher, ServletContext.getRequestDispatcher(java.lang.String)
1.2、注释:
HTML注释:<!-- -->
隐藏注释:<%-- --%> 不发送到客户端
1.3、表达式:
<%=new java.util.Date() %>
等号开头,不用分号作为结尾。
1.4、声明语句:
<%! int a = 1; %>
声明和脚本段转换为Servlet代码的位置是不一样的,声明语句定义的变量会方法成员变量的位置,而脚本段中的变量会转换为局部变量。每个用户都会访问到成员变量,而脚本段的局部变量每个用户保存一个副本,互不影响。声明语句的变量在重新刷新页面时不会被重新定义,所以在_jspService方法中修改的状态是会保留下来的。
对于Servlet来说,是单例模式的。
但是这种声明语句用的比较少,因为这种需求不是很多。
相关文章推荐
- java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象
- java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象
- 【JSP笔记】指令标签(3)、动作标签(6)
- 笔记之JSP语法、指令(乱码、9大隐式对象、4大域)
- Jsp语法、指令及动作元素
- Java程序员从笨鸟到菜鸟之(十八)JSP基本语法与动作指令
- 编译原理(龙书第二版):语法分析相关习题及总结
- Java程序员从笨鸟到菜鸟之(十八)JSP基本语法与动作指令
- Java程序员从笨鸟到菜鸟之(十八)JSP基本语法与动作指令
- JSP入门第二章——Jsp语法之脚本、指令、动作元素
- [C专家]分析C语言声明——只有编译器才会喜欢的语法
- jsp/servlet相关技术 (三) --- jsp编译指令与动作指令
- jsp学习笔记:语法Directive(编译指令,相当于执行期间的命令)
- jsp的基本语法(3个指令,6个动作,9大内置对象)
- JSP学习笔记(一):JSP语法和指令
- 深入分析JavaWeb Item12 -- jsp运行原理与基本语法
- 【龙书笔记】编译器前端之语法分析涉及的基本概念
- [原创]java WEB学习笔记14:JSP的9 个隐含对象 及 JSP 的基本语法
- JavaWeb笔记——Jsp的指令、内置对象和动作标签
- [原创]java WEB学习笔记16:JSP指令(page,include),JSP标签(forwar,include,param)