javabean与jsp

JSP技术提供了三个关于JavaBean组件的动作元素,即JSP标签,它们分别为:
  <jsp:useBean>标签:用于在JSP页面中查找或实例化一个JavaBean组件。

  <jsp:setProperty>标签:用于在JSP页面中设置一个JavaBean组件的属性。

  <jsp:getProperty>标签:用于在JSP页面中获取一个JavaBean组件的属性。

 

如果在域中查找到了对象,就不创建javabean的实例对象,body不被执行。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jsp:usebean标签的使用</title>
  </head>
  
  <body>
    <!-- userbean标签的标签体只在userbean标签实例化bean时才执行 -->
    <jsp:useBean id="person" class="cn.itcast.domain.Person" scope="session">
        bbbb//标签体bbbb
    </jsp:useBean>
    
       <%=person.getName() %>
    
  </body>
</html>

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jsp:setProperty标签</title>
  </head>
  
  <body>
    
    <jsp:useBean id="person" class="cn.itcast.domain.Person"/>
    
    <!-- 手工为bean属性赋值 -->
    <jsp:setProperty name="person" property="name" value="xxxx"/>
    <%=person.getName() %><br/>
    
    
    <!-- 用请求参数给bean的属性赋值  http://localhost:8080/day09/2.jsp?name=uuuuuuuuuuuuu -->
    <jsp:setProperty name="person" property="name" param="name"/>
    
    <!-- http://localhost:8080/day09/2.jsp?name=uuuuuuuu&age=12 -->
    <jsp:setProperty name="person" property="age" param="age"/>  <!-- 支持8种基本数据类型的转换(把客户机提交的字符串,转成相应的8种基本类型,赋到bean的属性上) -->
   
   <!-- http://localhost:8080/day09/2.jsp?name=uuuuuuuu&age=12&birthday=1980-09-09 -->
   <%--
    <jsp:setProperty name="person" property="birthday" value="<%=new Date() %>"/>
   --%>  
    <%=person.getName() %><br/>
    <%=person.getAge() %><br/>
    <%=person.getBirthday() %><br/>
    
    
    <br/>----------------------------------------------------<br/>
    
    <!-- 用所有的请求参数为bean赋值 -->
    <jsp:setProperty name="person" property="*"/>
    <%=person.getName() %><br/>
    <%=person.getAge() %><br/>
    
    
    <jsp:getProperty name="person" property="name"/>
    <jsp:getProperty name="person" property="age"/>
    <jsp:getProperty name="person" property="birthday"/>
    
  </body>
</html>

 

 

 

EL表达式用于获取数据,在JSP页面中可使用${标识符}的形式,通知JSP引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域对象中获取对象。如果域对象中不存在标识符所对应的对象,则返回结果为””(注意,不是null)。
  示例:使用EL表达式获取request、session、applection域中的数据。
EL表达式中也可以使用${customerBean.address}的形式来访问JavaBean对象的属性。
示例:使用EL表达式获取Bean属性。
结合JSTL标签,EL表达式也可轻松获取各种集合中的元素。
示例:使用EL表达式获取List、Map集合中的元素。
EL表达式也可使用类如${1==1}的形式进行简单的逻辑判断。

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="cn.itcast.domain.Person"%>
<%@page import="cn.itcast.domain.Address"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>el表达式</title>
  </head>
  
  <body>
    <% 
        String data = "abcd";
        request.setAttribute("data",data);
    %>
    ${data }   ---翻译成的servlet代码为:<%-- pageContext.findAttribute("data") page request  session application--%>
    
    <br/>
    <% 
        Person p = new Person();
        p.setName("aaaa");
        
        request.setAttribute("person",p);
    %>
    ${person.name }   <%-- pageContext.findAttribute("person") page request  session application--%>
    
    
     <br/>
    <% 
        Person p1 = new Person();
        Address a = new Address();
        a.setCity("上海");
        p1.setAddress(a);
        
        request.setAttribute("p1",p1);
    %>
    ${p1.address.city }
    
    <br/>
    
    <% 
        List list = new ArrayList();
        list.add(new Person("aaa"));
        list.add(new Person("bbb"));
        list.add(new Person("ccc"));
        
        request.setAttribute("list",list);
    %>
    ${list[1].name }  
    
    
     <br/>
     <% 
         Map map = new HashMap();
         map.put("aa",new Person("aaaaa"));
         map.put("bb",new Person("bbbbb"));
         map.put("cc",new Person("ccccc"));
         map.put("dd",new Person("ddddd"));
         map.put("111",new Person("eeeee"));
         request.setAttribute("map111",map);
     %>
    
    ${map111.bb.name }
    ${map111.dd.name }
    ${map111['111'].name }  <%--用el表达式在取数据时,通常用.号,.号取不出来时,用[] --%>
    
    
    <!-- 获取当前web应用的名称 -->
    ${pageContext.request.contextPath }
    <a href="${pageContext.request.contextPath }/index.jsp">点点</a>
    
    
  </body>
</html>

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page import="cn.itcast.domain.Person"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>使用jstl+el完成集合迭代</title>
  </head>
  
  <body>
   <% 
        List list = new ArrayList();
        list.add(new Person("aaa"));
        list.add(new Person("bbb"));
        list.add(new Person("ccc"));
        
        request.setAttribute("list",list);
    %>
    <c:forEach var="person" items="${list}">
        ${person.name }<br/>
    </c:forEach>
    
    
     <br/>
     <% 
         Map map = new HashMap();
         map.put("aa",new Person("aaaaa"));
         map.put("bb",new Person("bbbbb"));
         map.put("cc",new Person("ccccc"));
         map.put("dd",new Person("ddddd"));
         map.put("111",new Person("eeeee"));
         request.setAttribute("map",map);
     %>
     
     <c:forEach var="entry" items="${map}">
         ${entry.key } :  ${entry.value.name}  <br/>
     </c:forEach>
    
    
    //代表用户登陆了
    <c:if test="${user!=null}">   
        欢迎您:${user.username }
    </c:if>
    
    <c:if test="${user==null}">
        用户名:<input type="text">
        密码:<input type="text">
    </c:if>
    
    
  </body>
</html>

 

JSTL的taglib指令中的uri怎么写:在standar.jar包下面有个META-INF目录下有个c.tld文件,使用里面的uri

 

转载于:https://www.cnblogs.com/lxboy2009/p/5947390.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值