一:javaBean是方便java实现web编程的一种组件,相当于将类中的属性设置为私有的方式;通过set和get方法来设置和获取属性的值,最主要的是要回使用当做元素设置和获取参数
要求 ;
1,使用java类来封装, 2,使用set和get方法
1, 例子:使用javaBean的set和get方式;
package bean; public class User { private int id; private String userName; private String userPwd; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPwd() { return userPwd; } public void setUserPwd(String userPwd) { this.userPwd = userPwd; } }
2,在jsp页面中使用javaBean(重点)
声明和初始化一个Bean属性
<jsp:useBean id="a" class="bean.User" scope="request"></jsp:useBean>
jsp:uesBean;标示标准动作
id="a";声明标示符a,设置属性的name与id的名字是一样的
class=" ";javaBean的set和get方法
scope;标示javaBean的作用域范围 默认本页 ,request session application
<jsp:setProperty name="a" property="id" value="4"/>
setProperty ;设置属性的值
name;需要通过javaBean设置的name和标示动作中的id是一样的
property;需要修改方法名中含有id的
value;将其值设置为4
<jsp:getProperty name="a" property="id"/>
getProperty;获取设置的属性
name;需要通过javaBean设置的name和标示动作中的id是一样的
property;获取标示为id中的方法
${a.id}
向浏览器输出获取到的a.id的值
3,property中的id如何解析成java代码中的User类的getId()和setId()方法
1), javaBean会先将property的值首字母变成大写,
2),反射寻找类的方法
3),然后根据setProperty和getproperty来判断是set还是get方法,如果是setProperty就在id的就编程了setId ,如果是getProperty就在id的就编程了getId ,
4,javaBean的作用域和javaBean的forw转发
pageContext 本页
request 一次请求中
session 一次回话中
application 程序开始到结束
转发;
<jsp:forward page="demo2.jsp">转发到demo2.jsp的页面 <jsp:param value="abcdef" name="aaa" />将name的值为abcdef也转发过去,相当于request.setAttribute("aaa", user);user的值为abcdef </jsp:forward>
jsp脚本获取和动作元素获取例子;关键代码如下;
User user = new User(); user.setId(100); user.setUserName("王文"); user.setUserPwd("wangwen"); request.setAttribute("userA", user); <jsp:forward page="demo2.jsp"> <jsp:param value=王文" name="aaa" /> </jsp:forward>
5,使用jsp脚本来获取值 在demo2.jsp中获取;
先获得请求参数和参数值 <% User user = (User) request.getAttribute("userA"); String value = request.getParameter("aaa"); %> <%--使用脚本元素取值 --%> 姓名:<%=user.getUserName()%> 编号:<%=user.getId()%> 密码:<%=user.getUserPwd()%> <%=value%>
姓名:王文 编号:100 密码:wangwen 王文
6,使用EL表达是来获取值
必须要先设置request.setAttribute("userA", user);否者获取不到
姓名:${userA.userName} 编号:${userA.id } 密码:${userA.userPwd}
${param}获取forwrad转发过来时传递的参数param
姓名:王文 编号:100 密码:wangwen {aaa=王文}
7,使用javaBean的动作元素来设置和获取值
用户id设置和获取 <jsp:useBean id="a" class="cjl.bean.User" scope="request"></jsp:useBean> <jsp:setProperty name="a" property="id" value="4"/> <jsp:getProperty name="a" property="id"/> 姓名id设置和获取 <jsp:useBean id="b" class="cjl.bean.User" scope="request"></jsp:useBean> <jsp:setProperty name="b" property="userName" value="王文"/> <jsp:getProperty name="b" property="userName"/> 密码的设置和获取 <jsp:useBean id="c" class="cjl.bean.User" scope="request"></jsp:useBean> <jsp:setProperty name="c" property="userPwd" value="wangwen"/> <jsp:getProperty name="c" property="userPwd"/>
在任何页面都可以获取到;与会话相似
javaBean用户id: ${a.id } javaBean姓名:${b.userName } javaBean姓名:${c.userPwd }
javaBean用户id:4
javaBean姓名:王文
javaBean姓名:wangwen
javaBean的总结: