JavaBean与表单

来源:互联网 发布:apache httpd安装配置 编辑:程序博客网 时间:2024/05/16 19:18

样例:

输入表单:

<html><head><title>欢迎来到望星空</title></head><body><form action="input_bean.jsp" method="post">姓名:<input type="text" name="name"><br>年龄:<input type="text" name="age"><br><input type="submit" value="提交"><input type="reset" value="重置"></form></body></html>
接收内容1:
<%@ page contentType="text/html" pageEncoding="GBK"%><%@ page import="blog.csdn.joywy.SimpleBean"%><html><head><title>欢迎来到望星空</title></head><body><%request.setCharacterEncoding("GBK"); SimpleBean simple = new SimpleBean();simple.setName(request.getParameter("name"));simple.setAge(Integer.parseInt(request.getParameter("age")));%><h3>姓名:<%=simple.getName()%></h3><h3>年龄:<%=simple.getAge()%></h3></body></html>
接收内容2:
<%@ page contentType="text/html" pageEncoding="GBK"%><html><head><title>欢迎来到望星空</title></head><body><% request.setCharacterEncoding("GBK"); %><jsp:useBean id="simple" scope="page" class="blog.csdn.joywy.SimpleBean"/><jsp:setProperty name="simple" property="*"/><h3>姓名:<%=simple.getName()%></h3><h3>年龄:<%=simple.getAge()%></h3></body></html>

比起分别设置属性的内容方便多了,而且可以自动将String类型的数据变为int类型的数据,并自动设置到age属性中。

<jsp:setProperty>标签表示为JavaBean中的属性设置内容,其中一共有两个属性。

1.name:对应着<jsp:useBean>中声明的id属性,表示使用指定的JavaBean。

2.property:表示要操作的属性,“*”表示自动匹配

在进行自动匹配时,实际上匹配的是参数名称(这里的参数名称是通过表单控件指定的)是否与属性的名称相符合,如果符合则会自动调用对应的setter进行内容的设置。在编写简单Java类的时候,类中的属性必须封装,封装之后的属性需要按照指定的格式编写对应的setter、getter方法。

注:

1.以上还是通过反射完成的操作。在反射机制中可以通过getMethod()方法取得一个指定名称方法的Method对象,在这里传入的是属性的名称,可以根据属性名称找到对应的setter()方法,完成属性内容的设置。

2.age的内容必须是数字,由于<jsp:setProperty>的操作中可以自动将输入的字符串变为int型的数据,所以此时输入的数据必须全部由数字组成,否则将出现"NumberFormatException"。

原创粉丝点击