五、JSP的7个动作指令

动作指令只是在运行时的动作,编译指令在将JSP翻译成Servlet时起作用

JSP的主要动作指令
- jsp:forword:执行页面转向,将请求的处理转发到下一页面。
- jsp:param:用于传递参数必须与其他支持参数的标签一起使用。
- jsp:include:用于动态引入一个JSP页面。
- jsp:plugin:用于下载JavaBean或Applet到客服端执行。
- jsp:useBean:创建一个JavaBean实例。
- jsp:setProperty:设置JavaBean实例的属性值。
- jsp:getProperty:输出JavaBean实例的属性值。

5.1forward指令

forward指令用于将页面响应转发到另外的页面。
JSP的forward指令格式:
JSP1.0

<jsp:forward page="{relativeURL|<%=expression%>}" />

JSP1.1以上

<!--
转发页面是增加额外的参数传递,
参数的值可以通过HttpServletRequest类的getParameter()方法获取
-->
<jsp:forward page="{relativeURL|<%=expression%>}">
   <jsp:param.../>
</jsp:forward>

例:

<jsp:forward page="forward-result.jsp">
   <jsp:param name=age value=29 />
</jsp:forward>
<body>
<!--使用request内置对象获取age参数的值-->
<%=request.getParameter("age")%>
</body>

表单提交:

<form id="login" method="post" action="jsp-forward.jsp">
   <input type="text" name="username" />
   <input type="submit" value="submit" />
</form>

5.2include指令

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

语法格式:

<jsp:include page="{relativeURL|<%=expression%>}"  flush=""true />
<jsp:include page="{relativeURL|<%=expression%>}"  flush=""true>
   <jsp:param name="parameterName" value="patameterValue"/>
</jsp:include>

动态导入语法:

<body>
 <!--使用动态include指令导入页面-->
<jsp:include page="include-result.jsp"/>
</body>

动态导入只是使用一个include方法来插入目标页面,而不是将目标页面完全融入本页面中。

静态导入和动态导入的三点区别:
- 静态导入是将导入页面完全融入本页面,两个页面完全融合生成一个整体的Servlet,而动态导入则在Servlet中使用include方法来引入被导入页面的内容。
- 静态导入时被导入页面的的编译指令会起作用,而动态导入时被导入页面的编译指令则失去作用,只是插入被导入页面的body内容。
- 动态导入还可以增加额外的参数。

简而言之,forward那布标页面代替原有的页面,include拿目标页面插入原有的页面。

5.3useBean、setProperty、getProperty指令

这三个指令都是与JavaBean相关的指令,useBean指令用于在JSP页面中初始化一个Java实例;setProperty指令用于为JavaBean实例的属性设置值,getProperty指令用于输出JavaBean实例的属性

useBean的语法:

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

scop属性指定的JavaBean实例的作用范围:
- page:该JavaBean实例仅在该页面有效。
- request:该JavaBean实例在本次请求有效。
- session:该JavaBean实例在本次session内有效。
- application:该JavaBean实例在本应用内一直有效。
setProperty指令语法:

<jsp:setProperty name="BeanName" property="propertyName" value="value" />

getProperty的语法:

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

例:

<body>
<!--创建lee.Person的实例,该实例的实例名为p1-->
<jsp:useBean id="p1" class="lee.Person" scope="page" />
<!--设置p1的name属性-->
<jsp:setProperty name="p1" property="name" value="zhangsan" />
<!--输出p1的name值-->
<jsp:gettProperty name="p1" property="name" />
</body>

当页面调用setProperty和getProperty标签时,系统底层就是调用setName()和getName()方法来操作Person实例的属性的。

5.4plugin指令

plugin指令主要用于下载服务端的JavaBean或Applet到客服端执行。由于程序要在客服端执行,所以客服端必须安装虚拟机,实际中很少使用。

5.5param指令

param指令用于设置参数值,这个指令不能单独使用,因为单独的param指令没有实际意义,param主要结合一下三个指令使用:
- jsp:include
- jsp:forward
- jsp:plugin

语法格式:

<jsp:param name="paramName" value="paramValue" />
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值