设为首页 加入收藏

TOP

felayman――细学JSP(一)
2014-11-23 19:05:04 来源: 作者: 【 】 浏览:12
Tags:felayman 细学 JSP

1. 什么是JSP

l JSP

简单的说,就是嵌入了Java代码的HTML,由静态HTML、专用的JSP标签和Java代码组成

服务器端的技术。在后台被自动转换成servlet

仅在修改后的第一次被访问时,才会被转换成servlet并进行编译,创建JSP唯一的一个一实例,并调用_jspInit完成初始化,之后每个用户请求都会创建一个调用JSP实例的_jspService方法的线程。因而多个并发请求会导致多个线程同时调用_jspService

Tomcat中,默认目录下的JSP文件被转换生成的servlet文件及编译后生成的class文件被放在install_dir/work/ Catalina/ localhost/ _/org/apache/jsp目录下

JSP页面page指令的15个常用属性

<%@page import="java.util.Date"%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

第一个JSP页面

<%

Date date = new Date();

out.print(date);

%>

1. include指令

在JSP的用法中,经常通过Include指令来包含另外一个页面。

当我们对这些页面进行编译时,当前的页面会与include指令指定的页面进行合并。

这就是JSP的include的运行机制

2. taglib指令

可以通过taglib指令标识申明该页面中所使用的标签库,如jstl,struts2

4. JSP的动作标签

在JSP中的动作指令包括:Include、 Forward、 UseBean、 GetProperty、 SetProperty、 Plugin。
一、Include指令
标签表示包含一个静态的或者动态的文件。
语法:

or



注:
1、page="path" 为相对路径,或者代表相对路径的表达式。
2、flush="true" 必须使用flush为true,它默认值是false。
3、 子句能让你传递一个或多个参数给动态文件,也可在一个页面中使用多个 来传递多个参数给动态文件。
二、Forward指令
标签表示重定向一个静态html/jsp的文件,或者是一个程序段。
语法:

or

……

注:
1、page="path" 为一个表达式,或者一个字符串。
2、 name 指定参数名,value指定参数值。参数被发送到一个动态文件,参数可以是一个或多个值,而这个文件却必须是动态文件。要传递多个参数,则可以在一个JSP文件中使用多个 将多个参数发送到一个动态文件中。
三、UseBean指令
标签表示用来在JSP页面中创建一个BEAN实例并指定它的名字以及作用范围。
语法:

其中typeSpec有以下几种可能的情况:
class="className" | class="className" type="typeName" | beanName="beanName" type="typeName" | type="typeName" |
注:
你必须使用class或type,而不能同时使用class和beanName。beanName表示Bean的名字,其形式为“a.b.c”。
四、GetProperty指令
标签表示获取BEAN的属性的值并将之转化为一个字符串,然后将其插入到输出的页面中。
语法:

注:
1、在使用 之前,必须用 来创建它。
2、不能使用 来检索一个已经被索引了的属性。
3、能够和JavaBeans组件一起使用 ,但是不能与Enterprise Java Bean一起使用。
五、SetProperty指令
标签表示用来设置Bean中的属性值。
语法:

其中prop_expr有以下几种可能的情形:
property="*" | property="propertyName" | property="propertyName" param="parameterName" | property="propertyName" value="propertyValue"
注:
使用 jsp:setProperty 来为一个Bean的属性赋值;可以使用两种方式来实现。
1、在jsp:useBean后使用jsp:setProperty:



在这种方式中,jsp:setProperty将被执行。
2、jsp:setProperty出现在jsp:useBean标签内:




在这种方式中,jsp:setProperty只会在新的对象被实例化时才将被执行。
* 在 中的name值应当和 中的id值相同。
六、Plugin指令
标签表示执行一个applet或Bean,有可能的话还要 下载一个Java插件用于执行它。
语法:
type="bean | applet"
code="classFileName"
codebase="classFileDirectoryName"
[ name="instanceName" ]
[ archive="URIToArchive, ..." ]
[ align="bottom | top | middle | left | right" ]
[ height="displayPixels" ]
[ width="displayPixels" ]
[ hspace="leftRightPixels" ]
[ vspace="topBottomPixels" ]
[ jreversion="JREVersionNumber | 1.1" ]
[ nspluginurl="URLToPlugin" ]
[ iepluginurl="URLToPlugin" ] >
[
[ ]+
]
[ text message for user ]

注:
元素用于在 浏览器中播放或显示一个对象(典型的就是applet和Bean),而这种显示需要在浏览器的java插件。
当Jsp文件被编译,送往浏览器时,< jsp:plugin>元素将会根据浏览器的版本替换成 或者元素。注意,用于HTML 4.0 ,用于HTML 3.2。
一般来说, 元素会指定对象是Applet还是

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SpringMVC(一)――流程框架总体.. 下一篇SpringMVC(二)――流程控制

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: