标签:
在tomcat环境搭建一文中为大家详细的介绍了第一个JSP的程序——Hello World,大家都应该顺利的完成了吧,以此为一个开端,希望大家在学习java EE的路上乘风破浪,不断进步。今天,为大家介绍JSP基本语法。想要快速的学会一门语言,掌握其语法非常关键。这是根本。
一方面因为篇幅原因,另一方面我做此文的目的是做一个小的总结,帮助大家理清思路,撸一撸JSP基本语法。因此,在这篇博文上没有小程序的例子。其实,JSP的本质就是java,只要你有一定的java基础,JSP脚本段的语法与java一模一样。熟记本文之后,相信你写些JSP的小程序会很轻松。希望大家,能在看完本文之后,多写些小程序。毕竟,编程的能力不是记忆一些理论知识就可以的,而是要多多动手实践。
言归正传,语法是根本。总的来说,JSP基础语法包括:两种注释类型、三个脚本元素、三个指令元素、八个动作指令。
JSP页面包含JSP元素和Template data两类。Template data是指JSP引擎不处理的部分,也就是<%%>以外的部分,例如代码中的HTML标签等,这些数据会直接传送到客户端的浏览器。
JSP元素则是值由JSP引擎直接处理的部分,这一部分必须符合JSP语法。JSP标签是大小写敏感的(HTML标签不区分大小写),脚本语法和指令语法则使用了传统的语法。
1.html注释
<!-comment[<%=expression%>]-> //[]为可选
eg:
<!-This file dispalys <%=user%> login sreen>
2.jsp注释
<%--这是一个jsp单行注释--%> <%/*这是一个jsp多行注释*/%>
1.申明:整个页面的成员变量
<%! int a=0;%>2.表达式
<%=expression%>
<%! %>内的变量和方法是一个类内的变量和方法也就是成员变量和成员方法。声明在<%%>内的变量是一个方法的变量也就是局部变量。
3.脚本段
<% code fragment%>
1.page指令,仅仅import可以多个
eg:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.kl.bean.*" %>
contentType 属性指定页面响应的MIME类型和字符编码
pageEncoding属性用于指定JSP页面字符编码格式。
我的建议:都设置为UTF-8
2.include指令:在编译阶段就处理所需要的文件
<%@ include file="relativeURL"%>
3.taglib,声明页面的自定义标签
<%@ taglib uri="http://www.jspcentral.com/tags" prefix="public"%>
1.内部跳转(请求转发):<jsp:forward >
从一个jsp文件向另一个jsp文件传递一个包含用户请求的request对象。标签后的jsp脚本不会执行。
该语句实现页面跳转,并可携带相关参数,浏览器地址栏数据不改变,不会显示参数信息。
重定向:重定向行为是做了两次请求,及产生了两个request对象,重定向会导致第一次request对象信息丢失。
请求转发:转发做了一次请求, 浏览器的地址栏一直是第一次请求的地址。转发是服务器内部request/response控制权的移交。
eg: 含param子标记
<jsp:forward page="loginResult.jsp"> <jsp:param name="username" value="<%=user%>"/> <jsp:param name="password" value="<%=pwd%>"/> </jsp:forward>
不含param子标记
<jsp:forward page="declare.jsp"/>
2.包含页面:<jsp:include>
与<%@ include%>不同,在jsp页面运行时动态加入。
<jsp:include page="scripts/login.jsp"> <jsp:param name-"username" value="tom"/> </jsp:include>
3.创建Bean:<jsp:useBean>
属性:
id:javaBean是一个类,不同实例用id区分
scope:默认page
page:创建Bean的jsp以及此文件中的所有静态包含文件(<%@ include %>)。
request:同一个请求,直到客户端发起下一个请求为止。
session:整个会话,近似理解为关闭浏览器为止。
application:整个application。服务器一开始执行服务到服务器关闭为止。
class:javaBean的类名。
eg:
<jsp:useBean id="checking" scope="session" class="bank.checking" > <jsp:setProperty name="checking" property="balance" value="0.0"/> </jsp:useBean>
4.设置Bean属性:<jsp:setProperty>
属性:
name: <jsp:useBean>标签中的id属性
property:Bean实例的属性。
value: Bean实例属性的值。
param:表单参数
语法:
1)将bean属性的值设置为一个字符串。
<jsp:setProperty name="bean的名字" property="bean的属性" value=字符串/>
2)通过表单的参数的值来设置bean的相应属性的值,表单中的属性和javaBean的属性应该同名。
<jsp:setProperty name="bean的名字" property="*" /> <jsp:setProperty name="bean的名字" property="属性名" param=“参数名” />
注意表单中文参数乱码
post方式
request.setCharacterEncoding("utf-8"); response.setCharacterEncoding( "utf-8" );
get方式
String string = request.getParamers(""); String = new String(string.getBytes("ISO8859-1","utf-8"));
5.取得属性<jsp:getProperty>
<jsp:getProperty name="bean的名字" property="bean的属性"/>
6.定义参数:<jsp:param>
param标记以“名字-值”对的形式为其他标记提供附加信息,不能独体使用。作为<jsp:include>,<jsp:forward >,<jsp:plugin>标记的子标记。
<jsp:param name="名字" value="值">
7.使用Applet插件:<jsp:plugin>
8.插件错误提示:<jsp:fallback>
标签:
原文地址:http://www.cnblogs.com/klguang/p/4708957.html