JavaBean详解---JavaBean与表单

JavaBean与表单

在JavaBean语法中,实际上最大的特点就在于与表单的交互上,读者可以回顾一下:如果按照之前的做法,有一个表单提交了内容给JSP,JSP中如果要是想进行接收的话,则需要通过request,分别进行接收,并设置到JavaBean对应的属性里。

方法一:【input_bean1.jsp的内容如下:】

<%@ page contentType="text/html" pageEncoding="GBK"%>

<%@ page import="com.skewrain.demo.*"%>

<html>

<head><title>javabean</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>

 

【input_bean.htm的内容如下:】

<html>

<head><title>javabean</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>

执行此代码的结果如下:


“提交”之后的结果为:


此时,按照最原始的手工方式定义javabean的对象,之后使用request接收所有的参数。

这是第一种做法,全部由用户手工完成,但是现在也可以有第二种做法,通过标签完成。

Input_bean.htm内容不变。【input_bean2.jsp内容如下:】

<%@ page contentType="text/html" pageEncoding="GBK"%>

<html>

<head><title>javabean</title></head>

<body>

<%   request.setCharacterEncoding("GBK");  %>

    <jsp:useBean id="simple" scope="page"

    class="com.skewrain.demo.SimpleBean"/>

    <jsp:setProperty name="simple" property="*"/>

    <h3>姓名:<%=simple.getName()%></h3>

    <h3>年龄:<%=simple.getAge()%></h3>

</body>

</html>

执行此程序的结果如下:


“提交”之后的结果为:


    通过一个<jsp:setProperty>标签就可以完成所有请求参数的自动配置,而且可以自动将输入的String型变为int型的数据,这个标签的语法如下:

<jsp:setProperty>:表示操作指定JavaBean中的属性,里面定义了两个属性

        1):name:表示的是使用JavaBean中的id的定义;

        2):property:表示的是设置里面的属性内容,如果为“*”则表示自动匹配,与表单相匹配

如果要想让表单的参数可以自动设置到JavaBean之中的话,那么就需要让参数的名称与属性一致,但是这种说法并不明确,因为在这之中还包含了一个概念。

在编写简单Java类的时候一直强调,类中的属性必须封装,封装之后的属性需要按照指定的格式编写对应的setter、getter方法。

使用这种操作,实际上最终调用的是JavaBean中的setter方法,而setter方法又有严格的命名要求,所以可以简单的理解为要想设置,则参数名称必须与属性名称一致,否则无法完成设置。

当然,这种操作的原理依然是反射机制,通过反射,可以将指定属性名称的setter方法进行调用。

但是,这种操作本身存在一个问题,即:如果要输入的内容是int型的话,则必须输入的是数字,否则会出现问题。

JavaBean的优点必须结合表单才可以体现出来。


小结:

1):通过JavaBean可以自动完成参数的设置问题;

2):完成的原理依靠的是反射机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值