jsp之JavaBean入门

来源:互联网 发布:pdf拆分软件绿色版 编辑:程序博客网 时间:2024/06/04 17:51

在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>


原创粉丝点击