您的位置:首页 > Web前端 > JavaScript

Jsp的7个动作指令

2014-09-25 10:26 330 查看
动作指令与编译指令不同,编译指令时通知servlet引擎的处理消息,而动作指令只是运行时的动作。编译指令在将JSP编译成Servlet时起作用,而处理指令通常可替换成JSP脚本,它只是JSP脚本的标准化写法。

(1)JSP:forward 执行页面转向,将请求的处理转发到下一个页面。

(2)JSP:param 用于传递参数,必须与其他支持参数的标签一起使用

(3)JSP:include 用于动态引入一个JSP页面

(4)JSP:plugin 用于下载JavaBean或者Applet到客户端执行

(5) JSP:useBean 创建一个Javabean实例

(6) JSP:setProperty 设置JavaBean实例的属性值

(7)JSP:getProperty 获取JavaBean实例的属性值

(一)forward指令

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

JSP的forward指令格式如下:

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

对于JSP1.1以上规范,语法为:<JSP:forward page="{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部分。

(三)userBean,setProperty,getProperty指令

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

userBean的语法格式如下

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

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

setProperty的语法格式

<jsp:setProperty name="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)

(四)plugin指令

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

(五)param指令

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

jsp:include jsp:forward jsp:plugin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: