日期:2014-05-16  浏览次数:20424 次

最简单的JSP与JavaBean:setProperty和getProperty

JSP和JavaBean可以互相调用其中的内容。现在我们实现一个最简单的JSP与JavaBean。


我们实现一个输入文字,将文字传给JavaBean,然后再让JavaBean返回内容给JSP的功能。我们需要一个JSP文件,一个JavaBean。

JavaBean文件

在scr目录下新建一个名为packagemane的包,在这个包下面新建一个java文件,BeanName.java(文件名任意)

代码如下:
package packagename;

public class BeanName {
	String ProName;
	//参数名必须和jsp:setProperty中property,param的值相同。
	//JavaBean中有一个set方法,一个get方法。注意方法名和参数名的关系,注意方法返回值的对应。
	public void setProName(String proName){
		this.ProName = proName;		
	}
	public String getProName(){
		String newStr="你输入了:"+ProName;
		return newStr;
	}
}

JSP文件

在WebRoot或其子目录下新建一个jsp文件,名字任意。
里面的代码如下:
比较关键的地方有三个:

1、useBean。

定义Bean的名称。后面setProperty和getProperty的名称要和这个保持一致。

2、setProperty

用于将网页上面的内容传给JavaBean.setProperty有好几种方法,这里随便用了一种。
关于property和param的值,建议相同。其实我现在还没搞清它们到底和后面的哪个对应。
特别需要注意的是这个值一定要和JavaBean文件中的参数名相同。比如我这里写的是proName,JavaBean里面的参数是String ProName。

3、getProperty

用于将JavaBean中的内容传给网页。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%request.setCharacterEncoding("UTF-8");%> 
<%response.setCharacterEncoding("UTF-8");%> 
<%--强力防中文乱码--%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
        
    <title>最简单的JSP和JavaBean</title>
    <jsp:useBean id="entityName" scope="page" class="packagename.BeanName"></jsp:useBean>
    <!--scope的参数有四种:page,request,session,application 
    class的值为包名.Bean的文件名 -->
    <jsp:setProperty name="entityName" property="proName" param="proName"/>
    <!-- setProperty是将JSP网页的参数传给JavaBean,getProperty则是将JavaBean的参数传给JSP页面
    为避免混乱property和param最好相同。并且该值也必须和Bean文件中的参数名相同。 -->
 
  </head>
  
  <body>
   
    <form name="form1" action="" method="post">
    	在这里输入传给JavaBean的内容:<br>
    	<input type="text" name="proName"/>
    	<input type="submit" name="T1" value="提交"/>
    	<br>
    </form>
	下面显示的是从JavaBean返回的内容:<br>
    <jsp:getProperty name="entityName" property="proName" />
  </body>
</html>

实现效果

输入前

提交后