zoukankan      html  css  js  c++  java
  • jsp之JavaBean基础

    在一个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>
  • 相关阅读:
    Django Rest framework基础使用之Request/Response
    Django Rest framework基础使用之 serializer
    python基础(一)
    python实现本地图片上传到服务区
    开发中遇到的问题记录
    九、xadmin菜单分组管理
    leetcode-7-整数翻转
    leetcode-6-Z 字形变换
    leetcode-5-最长回文子串
    leetcode-3-无重复字符的最长子串
  • 原文地址:https://www.cnblogs.com/lbd_smile/p/7048980.html
Copyright © 2011-2022 走看看