本章目标
掌握JavaBean的真正作用;
可以通过JavaBean自动设置和取得内容。
JavaBean与表单
在JavaBean语法中实际上最大的特点就在于与表单的交互上,读者可以回顾一下:如果按照之前的做法,有一个表单提交了内容给JSP,JSP中如果要是想进行接收的话,则需要通过request,分别进行接收,并设置到JavaBean对应的属性里。
输入表单
<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<html>
<head>
<title>输入表单</title>
</head>
<body>
<form action="demoPost.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>
接收内容
<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<%@ page import="cn.demo.*"%><!-- 导入cn.demo包 -->
<html>
<head>
<title>接收内容</title>
</head>
<% request.setCharacterEncoding("utf-8");//解决提交乱码 %>
<body>
<%
SimpleBean simple=new SimpleBean();//声明并实例化SimpleBean对象
simple.setName(request.getParameter("name"));//设置name属性
simple.setAge(Integer.parseInt(request.getParameter("age")));//设置age属性
%>
<h3>姓名:<%=simple.getName() %></h3><!-- 输出name属性的内容 -->
<h3>年龄:<%=simple.getAge() %></h3><!-- 输出age属性的内容 -->
</body>
</html>
效果图:
修改接收表单的操作
<%@ page language="java" contentType="text/html" pageEncoding="utf-8"%>
<html>
<head>
<title>修改接收表单的操作</title>
</head>
<% request.setCharacterEncoding("utf-8");//解决提交乱码 //解决提交乱码 %>
<jsp:useBean id="simple" scope="page" class="cn.demo.SimpleBean"></jsp:useBean>
<jsp:setProperty property="*" name="simple"/>
<body>
<h3>姓名:<%=simple.getName() %></h3><!-- 输出name属性的内容 -->
<h3>年龄:<%=simple.getAge() %></h3><!-- 输出age属性的内容 -->
</body>
</html>
效果图:同上
小结
通过JavaBean可以自动完成参数的设置问题;
完成的原理依靠的是反射机制。