jsp jsp的基本语法

jsp模板元素

?jsp页面中的HTML 内容称为JSP模板元素
?jsp模板元素定义了网页的基本骨架,即定义了页面结构和外观

jsp表达式

? jsp脚本表达式用于将程序数据输出到客户端
? 语法<%=变量 或者表达式%>
? 例如输出当前时间:<%= new java.util.Date()%>
? jsp引擎在翻译脚本表达式的时候,会将程序数据转换成字符串,然后在相应的位置用out.print(...)将数据输出给客户端
?ps:jsp脚本表达式的变量和表达式后面不能有分号";"
<body>
 ? ?<% int i=0; %>
 ? ?<p>输出jsp中定义的变量i=<%=i %></p>
</body> ?

jsp脚本片段

? jsp脚本片段用于在JSP页面中编写多行java代码。语法:
? <%多行java代码%> 在<%%>可以定义变量编写语句,不能定义方法
<%
 ?//声明变量
 ?int sum=0;
 ?for(int i=0;i<100;i++){
 ? ? sum+=i;
 ? }
 ?out.println("<h1>Sum="+sum+"</h1>");
%>
JSP脚本片段中只能出现java代码,不能出现其他模板元素,jsp引擎在翻译jsp页面的时候会将JSP脚本片段的java代码原封不动的放到Servlet的_jspService方法中。
jsp 脚本片段中的java代码必须严格遵循java语法,例如,每个执行语句后面需要用分号";"结束
一个jsp页面中可以有多个脚本片段,在两个或多个脚本片段之间可以嵌入文本,HTML标记和其他jsp元素。
多个脚本代码之间可以相互访问,就想将所有的代码放在一个<%%>代码块中一样。
单个jsp脚本中的java片段可以是不完整,但是多个脚本片段组合后的结果必须是完整的

jsp声明

? jsp页面中编写的所有的代码,默认会翻译到servlet的service()方法中,而jsp声明中的java代码被翻译到_jspService方法的外面。
<%!java代码%>
所以jsp声明可以用于定义jsp页面转换成的servlet程序的静态代码块,成员变量和方法。
多个静态代码块,变量和函数可以定义在jsp声明中,也可以分别单独定义在多个jsp声明中。
jsp隐式对象的作用范围仅限于servlet的_jspService方法,所在jsp声明中不能使用这些隐式对象。

JSP的注释

显式注释:直接使用HTML风格的注释<!--注释内容-->
隐式注释:直接使用java的注释// /*....*/
JSP自己的注释: <%--注释的内容--%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<%--<jsp:forward page="/pageContext/forward"></jsp:forward> --%>
<body>
     <% //pageContext.forward("/pageContext/forward"); %>
     <!-- <h1>我的首页</h1>  -->
</body>
</html>

原文地址:https://www.cnblogs.com/ssgao/p/8866343.html

时间: 2024-08-28 05:06:05

jsp jsp的基本语法的相关文章

eclipse加速之禁用JS、jsp等文件的语法验证,eclipsejs

eclipse加速之禁用JS.jsp等文件的语法验证 去除eclipse的JS验证:将windows->preference->Java Script->Validator->Errors/Warnings-> Enable Javascript Sematic validation前面的勾去掉; 选中要修改的项目,Project>Properties 或右键项目 -> properties -> Builders 去掉JavaScript Validato

[JSP]JSP中include指令和include动作的区别

include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如果只修改了include文件内容,而没有对JSP修改,得到的结构将不会改变,所以直接执行已经存在的字节码文件,而没有重新编译.因此对不经常变化的内容,用include指令是合适的,如果需要的内容是经常变化的,则需要动作元素<jsp:include>.下面将详细区分他们之间的不同 1.include指

java.lang.NoClassDefFoundError: org/apache/jsp/jsp/Container_jsp

1.错误描写叙述 八月 20, 2014 7:10:18 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [jsp] in context with path [/FusionCharts] threw exception [java.lang.NoClassDefFoundError: org/apache/jsp/jsp/Container_jsp (wrong

JSP&lt;jsp:forward&gt;与&lt;%@ include%&gt;

JSP<jsp:forward>与<%@ include%><jsp:include> <jsp:forward file="forwardTo_path"> <%@ include  file="relative_path" %> 待转向的页面,会生成.class 文件,被包含的页面连生成页面的机会都可能没有. <jsp:include> 拥有这样的能力:可以向被包含页面传递参数 <%@

19 jsp——jsp的转发标签

jsp转发标签 格式 <jsp:forward page="jsp相对地址"></jsp:forward> 注意:如果不带参数<jsp:forward></jsp:forward>之间不能有任何内容,空格也不行,否则报错. 带参数的转发 格式 <jsp:forward page="forwardJsp.jsp"> <jsp:param name="age" value="

jsp 4种常用语法3个编译指令7个动作指令

4种常用语法: 注释:<%--注释--%> 声明:<%!声明部分%> 输出:<%=%> 脚本:可以包含任何java可执行代码.例 <% for(int i=0; i<10; i++) { %> <% } %> 3个常用编译指令: page:针对当前页面的指令 include:指定包含另一页面 taglib:定义和访问自定义标签 7个动作指令 jsp:forward  将请求的处理转发到下一页面 jsp:param 传递参数,与其他支持参数的

JSP笔记01——基础语法

JSP ————> servlet 我的第1个Java Web应用程序——index.jsp 我的第2个Java Web应用程序——welcome-file 我的第3个Java Web应用程序——conf/server.xml 我的第4个Java Web应用程序——jsp page 我的第5个Java Web应用程序——jsp 脚本 我的第6个Java Web应用程序——jsp 声明 我的第7个Java Web应用程序——JSP 表达式 我的第8个Java Web应用程序——JSP页面生命周期

eclipse加速之禁用JS、jsp等文件的语法验证

去除eclipse的JS验证:将windows->preference->Java Script->Validator->Errors/Warnings-> Enable Javascript Sematic validation前面的勾去掉; 选中要修改的项目,Project>Properties 或右键项目 -> properties -> Builders 去掉JavaScript Validator 前面的勾 Right click your pro

eclipse中jsp文档无语法着色,安装Eclipse Java Web Developer Tools插件

一.安装Eclipse Java Web Developer Tools插件 1.eclipse菜单:help/install New Software,打开Available Software窗体: 2.Available Software窗体:Work with下拉框中选择mars - http://download.eclipse.org/releases/mars项,mars是eclipse版本,可能有所不同: 3.待Pending...完成后,会显示可选装的插件列表,如果不勾选Cont