jsp之JavaBean入门

在Myeclipse中的Webproject下,jsp文件放在WEB-INF目录下,对应的Java文件放在src目录下,src下的类文件编译后,会自动将字节码文件放在WEB-INF/classes 目录下。

个人认为JavaBean的本质,就是在jsp页面中直接对Java类进行实例化,然后操作里面的属性和方法。

例子1:

通过类中的方法对类中的属性进行读取,修改。

Java源文件(SimpleBean.java):

package tom.jiafei;

public class SimpleBean{  
    private String name;  
    private int age;  
    public void setName(String name){  
        this.name = name;  
    }  
    public void setAge(int age){  
        this.age = age;  
    }  
    public String getName(){  
        return this.name;  
    }  
    public int getAge(){  
        return this.age;  
    }  
}
JSP页面代码:

<%@ page contentType="text/html" pageEncoding="UTF-8"%>  

<html>  
<head><title>bean测试</title></head>  
<body>  

<!-- bean 通常以标签的方式来声明和使用  -->
<jsp:useBean id="simple" scope="page" class="tom.jiafei.SimpleBean"/>  
<!-- 本语句用来加载使用Bean,scope为这个Bean的生命周期,即作用范围,其值有:
   			page,session,request,application  
   		设置Bean,相当于对该class进行了实例化,对象名为id的值girl
-->

<!-- bean 也可以通过直接实例化的方法来使用 -->
<%--  
    SimpleBean simple = new SimpleBean();    //声明并实例化SimpleBean对象  
    simple.setName("Joywy");                 //设置name属性  
    simple.setAge(23);                       //设置age属性  
--%> 

<%  
    simple.setName("Smile");  
    simple.setAge(20);  
%>  
<h3>姓名:<%=simple.getName()%></h3>  
<h3>年龄:<%=simple.getAge()%></h3>  

<!-- 通过标签对bean对象的内容进行修改和显示  -->
<jsp:setProperty name="simple" property="name" value="Blue" />
   	名字是:<jsp:getProperty name="simple" property="name" />
<jsp:setProperty name="simple" property="age" value="22" />
   	年龄是:<jsp:getProperty name="simple" property="age" />

</body>  
</html>

例子2:将jsp页面中的表单与JavaBean建立联系

Java源文件(Student.java):

package tom.jiafei;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

public class Student {
    String name = null;
    long number;
    double height, weight;
    
    public String getName(){            
        try{            
            name=new String(name.getBytes("ISO-8859-1"),"UTF-8");
            //将页面传过来的数据进行编码转换,此处是将ISO-8859-1改为UTF-8
            //此句代码可根据实际情况进行调整

            return name;
        }catch(Exception e){
            System.out.println(e);
            return name;
        }
    }
    public void setName(String newName){
        name = newName;
    }
    public long getNumber(){
        return number;
    }
    public void setNumber(long newNumber){
        number = newNumber;
    }
    public double getHeight(){
        return height;        
    }
    public void setHeight(double newHeight){
        height = newHeight;    
    }
    public double getWeight(){
        return weight;        
    }
    public void setWeight(double newWeight){
        weight = newWeight;    
    }
}
jsp页面代码:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import = "tom.jiafei.*" %> 
<%--  导入自定义的类  --%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>bean 测试</title>
  </head> 
  <body>
   
   <jsp:useBean id="zhang" class="tom.jiafei.Student" scope="page"> </jsp:useBean>
   <br>
   <form action="" method="post">
    输入姓名:<Input type="text" name="name"/>
   <br/>输入学号:<Input type="text" name="number"/>
   <br/>输入身高:<Input type="text" name="height"/>
   <br/>输入体重:<Input type="text" name="weight"/>
        <input type=submit value="提交">  
   </form>
    
   <jsp:setProperty name="zhang" property="*" />
   <%-- 该标记不用再具体指定bean属性的值,将对应表单中的对应的参数值,系统会根据名字进行对应 --%>
           
   <%-- <jsp:setProperty name="bean对象名" property="属性名" value="参数名" /> --%>
   <%-- 设置bean中的属性值与表单中参数值得对应关系 --%>    
    
        名字是:<jsp:getProperty name="zhang" property="name" />
    <br>学号是:<jsp:getProperty name="zhang" property="number" /> 
    <br>身高是:<jsp:getProperty name="zhang" property="height" />米
    <br>体重是:<jsp:getProperty name="zhang" property="weight" />公斤
         
  </body>
</html>
例子3:填写文件后缀,在指定文件夹中找出该后缀的所有文件

Java源文件(ListFile.java)

package tom.jiafei;
import java.io.*;
 
class FileName implements FilenameFilter{  
    String str = null;
    FileName(String s){
        str = "." + s;
    }  
    public boolean accept(File dir, String name){
        return name.endsWith(str);
    }  
}
public class ListFile{
    String extendsName = null;
    StringBuffer str = new StringBuffer();
    public void setExtendsName(String s){
        extendsName = s;
    }
    public String getExtendsName(){
        return extendsName;
    }
    public String getAllFileName(){
        File dir = new File("D:/MyeclipseSpace/JSPtest/WebRoot");
        FileName help = new FileName(extendsName);
        String file_name[] = dir.list(help);
        for(int i=0;i<file_name.length;i++){
            str.append(file_name[i]+"");
        }      
        return new String(str);
    }
}

jsp页面代码:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import = "tom.jiafei.ListFile" %>
 <jsp:useBean id="file" class="tom.jiafei.ListFile" scope="page"> </jsp:useBean>
<%--  导入自定义的类  --%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>bean 测试</title>
  </head> 
  <body>
     
   <form action="" method="post">
    输入文件的扩展名:<input type=text name="extendsName">
    <input type=submit value="提交">
   </form>
   <jsp:setProperty name="file" property="*" />
    
   当前jsp页面所在目录,扩展名是:
   <jsp:getProperty name="file" property="extendsName" />
   的文件有:
    
   <br/> <jsp:getProperty name="file" property="allFileName" />
   <!--
    该语句会执行与其对应的方法 getallFileName();
    其实该标签的本质,都是执行的类中的方法  
   -->
             
  </body>
</html>


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值