Jsp7个动作指令

来源:互联网 发布:ubuntu查看wine版本 编辑:程序博客网 时间:2024/04/28 16:07

  • JSP常见的7个动作指令

1jsp:forward指令

执行页面转向,将请求处理转发到下一个页面

2jsp:param指令

用于传递参数

3jsp:include指令

用于动态引入一个JSP页面

4jsp:plugin指令

用于下载JavaBeanApplet到客户端执行

5jsp:useBean指令

创建一个JavaBean实例

6jsp:setProperty指令

设置JavaBean实例的属性值

7jsp:getProperty指令

获取JavaBean实例的属性值

  • 部分指令详解

(一)forward指令

       用于将页面相应转发到另外的页面,既可以转发到静态的html页面,也可以转发到动态的JSP页面,或者转发到容器中的Servlet。动态指令只需直接<>中使用指令,静态则是<%%>,动态指令均是成对出现的。

    JSPforward指令格式如下:

     对于JSP1.0语法为:<JSP:forwardpage="{relativeURL|<%=expression%>}"/>   

     对于JSP1.1以上规范,语法为<JSP:forwardpage="{relativeURL|<%=expression%>}">

                                                                        {<JSP:param·······/>}

                                                          </JSP:forward>  

      这种语法用于在转发时增加额外的请求参数。增加的请求参数的值可以通过HttpServletRequest类的getParameter()方法获取。执行forward指令时,用户请求的地址依然没有发生改变,仍然是一次请求,但页面内容完全变为被forward目标页的内容。执行forward指令转发请求时,客户端的请求参数不会丢失。

 

(二)include指令

       include指令时一个动态include指令,也用于包含某一个页面,它不会导入被include页面的编译指令,仅仅被导入页面的body内容插入页面。

     <jsp:include page="{relativeURL|<%=expression%>}"flush="true">

              <jsp:param name="parameterName"value="parameterValue"/>

   <jsp:include/>

     flush属性用于指定输出缓存是否转移到被导入文件中,如果指定为true,则包含在被导入文件;如果指定为false,则包含在原文件中。对于JSP1.1旧版本中,只能设置为false

注:include静态:编译指令-----两个JSP页面融合成一个servlet

       include动态:动作指令------servlet中使用include引入被导入页面的内容

   静态导入页面被导入页面的编译指令必须一致,否则会出错,动态则只包含body部分。

 forward拿目标页面代替原有页面,include则拿目标页面插入原有页面

(三)userBeansetPropertygetProperty指令

   这三个指令都是与JavaBean相关的指令,其中userBean指令用于在JSP页面中初始化一个java实例,setProperty指令用于为JavaBean实例的属性设置值;getProperty指令用于输出JavaBean实例的属性。如果多个JSP页面中需要重复使用的某段代码,我们可以把这段代码定义为java类的方法,然后多个JSP页面调用该方法即可,这样可以达到较好的代码复用。

userBean的语法格式如下

  <jsp:userBeanid="name" class="classname"scope="page|request|session|application"/>

其中,id属性是JavaBean的实例名,class属性确定JavaBean的实现类。scope属性用于指定JavaBean实例的作用范围。

 

 setProperty的语法格式

 <jsp:setPropertyname="BeanName" property="propertyName"  value="propertyValue"/>

其中,name属性是要确定JavaBean的实例名,property属性要确定设置属性的属性名,value属性时要确定属性名对应的值。

 

getProperty的语法格式

<jsp:getProperty name="BeanName" name="propertyName"/>

其中,name属性时要确定JavaBean的实例名,name属性是指定要获取的属性名对应的值。

注:使用userBean标签时,除在页面脚本中创建了JavaBean实例之外,该标签还会将该JavaBean实例放入指定scope中,所以我们还需要在脚本中将JavaBean放入指定的scope中,所下面的代码所示:

pageContext.setAttribute("beanName",beanName)

request.setAtttibutr("beanName",beanName)

session.setAttribute("beanName",beanName)

application.setAttribute("beanName",beanName)

Page:javabean实例仅在该页面有效

Request:javabean实例在本次请求有效

Sessionjavabean实例在本次session内有效

applicationjavabean实例在本次应用内一直有效

(四)plugin指令

 plugin指令主要用于下载服务器端的JavaBeanApplet到到客户端执行,由于程序在客户端执行,因此客户端必须安装虚拟机。

(五)param指令

param用于设置参数值,这个指令本身不能单独使用,因此单独的param指令没有实际意义,param指令可以与以下指令结合使用

jspinclude  jspforward   jspplugin

1 0
原创粉丝点击