JSP动作总结1

本文介绍了JSP中的六种基本动作,包括jsp:forward、jsp:include、jsp:useBean、jsp:setProperty、jsp:getProperty及jsp:plugin。详细解释了每种动作的功能、语法及应用场景,并提供了具体的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     通过动作影响输出的文本流,使用、编辑、建立对象。id属性和scope属性是每一个JS 动作都具有的属性,其中id表示一个动作的名称,而scope则表示一个动作的作用域。
scope作用域的取值:
  
page:由javax.servlet.jsp .PageContext得到,在用户请求此页面的过程中有效
   request:由ServletRrequest.getAttribute(name)得到,在用户的整个请求过程中有效
   session:由HttpSession.getValue( name)得到,在用户的整个会话期内有效
   application:由ServletContext.getAttribute(name)得到,在We b应用程序执行期间有
 


JSP动作包括:
  jsp:include:在页面被请求的时候引入一个文件。
  jsp:useBean:寻找或者实例化一个JavaBean。
  jsp:setProperty:设置JavaBean的属性。
  jsp:getProperty:输出某个JavaBean的属性。
  jsp:forward:把请求转到一个新的页面。
  jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记


一、Jsp:forward
        
表示重定向一个静态html/jsp的文件,或者是一个程序段。

    语法:
注:
1、page="path" 为一个表达式,或者一个字符串。
2、<jsp:param> name 指定参数名,value指定参数值。参数被发送到一个动态文件,参数可以是一个或多个值,而这个文件却必须是动态文件。要传递多个参数,则可以在一个JSP文件中使用多个<jsp:param>将多个参数发送到一个动态文件中。</jsp:param></jsp:param>

 

例子:
  1. <jsp:forward page="/utils/errorReporter.jsp" />       
  2. <jsp:forward page="<%= someJavaExpression %>" />  


<o:p><o:p>二、Jspinclude</o:p></o:p> 
<o:p><o:p>     表示包含一个静态的或者动态的文件。
语法:
 1、page="path" 为相对路径,或者代表相对路径的表达式。
 2、flush="true" 必须使用flush为true,它默认值是false。
 3、<jsp:param>子句能让你传递一个或多个参数给动态文件,也可在一个页面中使用多个<jsp:param>来传递多个参数给动态文件。</jsp:param>          </jsp:param></o:p>
</o:p> 

例子:

  1. <jsp:include page="path" flush="true" />  
  2. or   
  3. <jsp:include page="path" flush="true">  
  4.            <jsp:param name="paramName" value="paramValue" />*   
  5. jsp:include>  

 

  1. <html>      
  2.       xy       
  3.      <jsp:include page="X.jsp" flush="true"/>       
  4. </html>   


<o:p><o:p>三、Jsp:usebean</o:p></o:p> 
<o:p><o:p>    表示用来在JSP页面中创建一个BEAN实例并指定它的名字以及作用范围
</o:p>
</o:p>
<o:p><o:p>例子:创建一个由class属性指定的类的实例,然后把它绑定到其名字由id属性给出的变量上。</o:p></o:p>

语法:

 

  1. <jsp:useBean id="name" scope="page | request | session | application" typeSpec />  

注:
1. id 命名引用该Bean的变量。如果能够找到id和scope相同的Bean实例,jsp:useBean动作将使用已有的Bean实例而不是创建新的实例。 
2. class 指定Bean的完整包名。 
3. scope 指定Bean在哪种上下文内可用,可以取下面的四个值之一:page,request,session和application。 默认值是page,表示该Bean只在当前页面内可用(保存在当前页面的pageContext内)。
4. 必须使用class或type,而不能同时使用class和beanName。beanName表示Bean的名字,其形式为“a.b.c”。
5. class="className" | class="className" type="typeName" | beanName="beanName" type="typeName" | type="typeName


  1. <jsp:useBean id="name" class="package.class" />  

 <o:p><o:p>四、Jsp:setproperty
      表示用来设置Bean中的属性值。需要注意的是,在这个动作中将会使用到的name属性的值将是一个前面已经使用动作引入的avaBean的名字。
语法:
1. 其中prop_expr有以下几种可能的情形:property="*" | property="propertyName" | property="propertyName" param="parameterName" | property="propertyName" value="propertyValue"

有两种用法。
首先,你可以在jsp:useBean元素的外面(后面)使用jsp:setProperty,此时,不管jsp:useBean是找到了一个现有的Bean,还是新创建了一个Bean实例,jsp:setProperty都会执行。如下所示: 
</o:p>
</o:p>

  1. <jsp:setProperty name="beanName" prop_expr />  

 

  1. <jsp:useBean id="myName" ... />       
  2.          ...       
  3. <jsp:setProperty name="myName"    property="someProperty" ... />  



第二种用法是把jsp:setProperty放入jsp:useBean元素的内部,此时,jsp:setProperty只有在新建Bean实例时才会执行,如果是使用现有实例则不执行jsp:setProperty。如下所示:

  1. <jsp:useBean id="myName" ... >    
  2.       ...    
  3.     <jsp:setProperty name="myName"  property="someProperty" ... />    
  4. </jsp:useBean>   

 

五、jsp:getProperty 
     表示获取BEAN的属性的值并将之转化为一个字符串,然后将其插入到输出的页面中。
语法: 1、在使用<jsp:getproperty>之前,必须用<jsp:usebean>来创建它。
2、不能使用<jsp:getproperty>来检索一个已经被索引了的属性。
3、能够和JavaBeans组件一起使用<jsp:getproperty>,但是不能与Enterprise Java Bean一起使用。
4. </jsp:getproperty></jsp:getproperty></jsp:usebean></jsp:getproperty>
jsp:getProperty有两个必需的属性,即:name,表示Bean的名字;property,表示要提取哪个属性的值。
 
六、Jsp:plugin动作 
     表示执行一个applet或Bean,有可能的话还要下载一个Java插件用于执行它。当Jsp文件被编译,送往浏览器时,<jsp:plugin>元素将会根据浏览器的版本替换成ojbect或者embed元素。注意,object用于HTML 4.0 ,embed用于HTML3.2。</jsp:plugin>

语法:

  1. <jsp:getProperty name="name" property="propertyName" />  

  1. <jsp:plugin    
  2.       type="bean | applet"    
  3.       code="classFileName"    
  4.       codebase="classFileDirectoryName"    
  5.       [ name="instanceName" ]    
  6.       [ archive="URIToArchive, ..." ]    
  7.       [ align="bottom | top | middle | left | right" ]    
  8.       [ height="displayPixels" ]    
  9.       [ width="displayPixels" ]    
  10.       [ hspace="leftRightPixels" ]    
  11.       [ vspace="topBottomPixels" ]    
  12.       [ jreversion="JREVersionNumber | 1.1" ]    
  13.       [ nspluginurl="URLToPlugin" ]    
  14.       [ iepluginurl="URLToPlugin" ] >    
  15.       [ <jsp:params>    
  16.          [ <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" /> ]+    
  17.       </jsp:params> ]    
  18.       [ <jsp:fallback> text message for user </jsp:fallback> ]    
  19. </jsp:plugin>    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值