javaBean

一、 什么是JavaBean

a) 必须有有一个public的无参数构造函数(默认构造函数)。
b) 属性可以通过get、set、is(可以替代get,用在布尔型属性上)方法或遵循特定命名规范的其他方法访问。
c) 可序列化。
d) JavaBean的优点:一种可重用的组件技术。

二、 标准动作用于

a) 将 JavaBean 嵌入 JSP 页面
b) 设置和获取 JavaBean 的属性值
c) 将用户请求转发(forward)给其他页面
d) 将其他页面的内容嵌入(include)当前页面
e) JSP标准动作标签使用jsp:xxxx作为前缀

三、 标准动作

在这里插入图片描述

. jsp:userBean创建Bean实例
<jsp:userBean id=”对象变量名BeanID” class=”JavaBean类名” scope=”将对象存储在作用域中(page,request,session,application)”>
i. jsp:userBean动作将创建一个实例以BeanID存储在作用域中,如果作用域中已经存在这个BeanID的实例,那么jsp:userBean动作将不会重复创建Bean实例。
说明如下a.jsp和b.jsp两个页面:
A. a.jsp:
<jsp:useBean id=”mybean” class=”com.xyz.MyBean” scope=”request”/>
当从a.jsp转发到b.jsp。
B. b.jsp:
<jsp:useBean id=”mybean” class=”com.xyz.MyBean” scope=”request”/>
这时在b.jsp中不会在创建mybean对象,因为在request中已经存在了一个ID为mybean的Bean实例。
示例:
<jsp:useBean id=”employee” class=”com.employee.Employee” scope=”request”/>

2. jsp:setProperty为Bean属性赋值

<jsp:setProperty property=“ename” name=“employee” param=“ename”/>
可以使用param属性从请求参数中获得参数值,并将请求参数值设置到Bean对象的ename属性。

3. jsp:getProperty获得Bean属性值

<jsp:getProperty property=“empno” name=“employee”/>
获得Bean对象employee的empno属性值。

注意:能够通过jsp:getProperty和jsp:setProperty访问的JavaBean的属性必须要有getter和setter方法,JavaBean如果没有getter和setter方法,那么无法访问这个属性。实际上jsp:getProperty和jsp:setProperty动作是通过调用JavaBean的getter和setter方法用访问属性的。

注意:<jsp:userBean >创建的对象可以在<% %>脚本代码中使用。如下:
<jsp:useBean id=”empDao” class=”com.employee.EmployeeDao” scope=”request”/>
<%
//使用useBean动作创建的对象”empDao”
List list = empDao.query(….);
%>

<jsp:useBean scope=””>动作可用的作用域scope属性可用值有:

在这里插入图片描述

四、 jsp:forward

jsp:forward标准动作:用来实现请求的转发操作,与通过编码request.getRequestDispatcher(“URL”).forward(request, response); 效果一样。

五、 jsp:include

jsp:include动态包含标准动作:用来实现将另一个页面视图包含到当前页,被包含的页面会被单独的转换和编译,动态包含可以理解为一包含的类去调用被包含的类。与通过编码request.getRequestDispatcher(“URL”).include(request, response); 效果一样。
a) 可以使用<jsp:param …/>标签为jsp:include标签加入请求参数。

六、 jsp:param

jsp:param标准动作:为其它动作传递参数,如:jsp:include、<jsp:forward >动作。

示例1:
<jsp:forward page="include-demo.jsp">
	<jsp:param value="james" name="username"/>
	<jsp:param value="1111" name="password"/>
    <jsp:param value="112233" name="validcode"/>
</jsp:forward>

示例2:
<jsp:include …..>
	<jsp:param …..>
</jsp:include>

七、
uerBean.jsp:

    <jsp:userBean id="emp" class="vo.Employee" scope="request"/>
        <jsp:setProperty name="emp" property="empno" value="1122"/>
        <jsp:setProperty name="emp" property="ename" value="${'jack'}"/>
         <jsp:setProperty name="emp" property="job" value="${param.job}"/>
        <jsp:setProperty name="emp" property="sal" param="sal">
        
    
    <%
    	// 这样可以直接拿到uerBean创建的实例
    	request.getAttribute("emp")
    	// userBean创建的实例可以直接在java.scriptless小脚本中使用
    	emp.setEname("jack");
    %>
    <body>
        <h3>
            <pre>
                ${requestScope.emp.empno}
                ${emp.ename}
                <jsp:getProperty name="emp" property="job" />
                <%=emp.getSal()%>
            </pre>
        </h3>
    </body>
    </html>

<%--
    <jsp:forward > 标准动作:用来实现请求的转发操作,
    与通过编码request.getRequestDispatcher(“URL”).forward(request, response); 效果一样。
--%>
<jsp:forward page="target.jsp">
    <jsp:param name="deptno" value="20"/>
</jsp:forward>

include.jsp:

指令<%@ include file="url" %>特点:
 	1.被包含页面不会单独转译或者编译成java和class文件
 	2.包含与被包含不能有相同变量名存在,否则会冲突报错
 标签动作:jsp:include特点:
  	1.被包含页面会单独转译或者编译成java和class文件
  	2.包含与被包含可以存在相同变量名,不会冲突
例如:

```
 <jsp:include page="useBean.jsp">
        <jsp:param name="deptno" value="30"/>
    </jsp:include>
```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值