javaBean动作元素和EL输出

一: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的总结:

* JavaBean 是可在多个应用程序中重复使用的组件
* useBean 动作可在 JSP 页面中提供 JavaBean 组件
* setProperty 动作用于设置 Bean 的属性值
* getProperty 动作用于获取 Bean 的值
* forward 动作用于将用户的请求转发给其他页面

 

* include 动作用于将一个页面嵌入当前 JSP 页面

 

你可能感兴趣的:(jsp,javaBean动作元素,EL表达式的输出)