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>
实现效果
输入前
提交后