Java Web笔记 – JSP的语法和相关指令语法原理分析 编译器指令 动作语法 声明指令
本文由发表于6年前 | J2EE | 暂无评论 |  被围观 5,787 views+
1、JSP的语法:1.1、JSP的三种语法:1.1.1、编译器指令(DIRECTIVE):1.1.2、脚本语法:1.1.3、动作语法:
<jsp:forward>
<jsp:include>
1.2、注释:1.3、表达式:1.4、声明语句:
1、JSP的语法:
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来说,是单例模式的。

但是这种声明语句用的比较少,因为这种需求不是很多。

除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/jsp-syntax-and-directives-related-to-the-syntax-analysis-of-the-compiler-directive-principles-of-the-action-command-syntax-statement.html
arthinking Java技术交流群:280755654,入门群:428693174 more
分享到:
 
2011 11/9
如果您有更好的原创技术博文或者观点,欢迎投稿:admin@itzhai.com,或者关注订阅左侧浮动面板的微信号订阅IT宅itread)发送消息。
文章评论
    没有评论
给我留言

有人回复时邮件通知我
J2EE的相关文章
随机文章 本月热门 热评
1 肖申克的救赎:救赎心中那份本该具有的追求信念的勇气 2011/8/11
2 软件工程学概述-软件工程 软件危机 软件过程 2011/7/1
3 Struts2笔记 – struts.xml文件的配置 2011/6/19
4 开发者不容错过的12款开源JavaScript库 2014/1/26
5 Lucene基本示例和关键类介绍 2013/1/11
6 ExtJS拖放技术DragSource拖动到指定区域DDTarget 2011/4/13
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
猜您喜欢
欢迎关注我的公众号 IT宅
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.