浅谈Javaweb动作标识(部分)

1.jsp <include> 

jsp中include有两种用法,分别是动态include和静态include。

动态include:

用法:<jsp:include page="included.jsp" flush="true" /> 

说明:它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数,先编译之后再进行处理。 

原因:1、静态include的结果是把其他jsp引入当前jsp,两者合为一体。

  2、静态include纯粹是把代码写在外面的一种共享方法,所有的变量都是可以和include它的主文件共享,两者高度紧密结合,不能有变量同名的冲突.而页面设置也可以借用主文件的. 

静态include:

用法:<%@ include file="included.htm" %> 

说明:用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面,直接将内容先包含后处理。 

原因:1、动态include的结构是两者独立,直到输出时才合并( 看看jsp生成的java文件就可以知道了)。 


2、动态include的jsp文件独立性很强,是一个单独的jsp文件,需要使用的对象,页面设置,都必须有自己创建,当然,还好它和include它的页面的request范围是一致的。

2.jsp<forward>

跳转标签:重定向一个HTML文件、jsp文件、程序段。

简单用法如下:



3.jsp<useBean>标签的详细用法  
<jsp:useBean id="mydate" class="java.util.Date"> //jsp引擎将class属性翻译成静态创建对象实例(也就是使用new来创建对象实例,相当于java.util.Date mydate = new java.util.Date); 
<jsp:useBean id="mydate" class="java.util.Date" type="Object"> //相当于Object mydate = new java.util.Date(); 
beanName和type一定要成对出现。beanName时一定要写type属性。beanName一定要为完整的包名+类名。 
<jsp:useBean id="mydate" type="Object" beanName="java.util.Date"> //相当于Object mydate = 
(Object)java.beans.Beans.instantiate(this.getClass().getClassLoader(), "java.util.Date"); 
beanName可以动态实例化,即可以传入动态的字符串,但一定要为type属性赋值,而class则只能传入静态的字符串。 
即可以动态化beanName值:<% String str = request.getParameter("a"); %><jsp:useBean id="mydate" type="Object" beanName="<%=str%>"> <jsp:useBean id="mydate" type="Object" beanName="${param.a}">  
(1)type属性和class属性有什么区别? type和class都是类的完全限定名,但是type可以给出当前javaBean的父类或者是实现接口的完全限定名,这样使得依赖于抽象,更加灵活。所以可以说type比class某些方面上应该更具有优势。 
(2)class属性和beanName属性有什么区别? 
区别是beanName写法上可以是类的完全限定名,也可以使表达式。其他的区别还有待考察。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值