按原始的办法,即手动的去生成SimpleBean对象;
input_bean.jsp:
<%@ page contentType="text/html" pageEncoding="gbk"%>
<%@ page import="org.lid.demo.SimpleBean"%>
<html>
<head><title>这是测试</title></head>
<body>
<%
request.setCharacterEncoding("gbk");
SimpleBean simple=new SimpleBean();
String name=request.getParameter("name");
String age=request.getParameter("age");
simple.setName(name);
simple.setAge(Integer.parseInt(age));
%>
<h3>姓名:<%=simple.getName()%></h3>
<h3>年龄:<%=simple.getAge()%></h3>
</body>
</html>
input_bean.html:
<html>
<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>
第二种方法:
<%@ page contentType="text/html" pageEncoding="gbk"%>
<html>
<head><title>这是测试</title></head>
<body>
<%
request.setCharacterEncoding("gbk");
%>
<jsp:useBean id="simple" scope="request" class="org.lid.demo.SimpleBean"/>
<jsp:setProperty name="simple" property="*"/>
<h3>姓名:<%=simple.getName()%></h3>
<h3>年龄:<%=simple.getAge()%></h3>
</body>
</html>
通过一个<jsp:setProperty>标签就可以完成所有参数的自动设置,而且可以自动将String类型
转换成int类型,这个标签的语法如下:
<jsp:setProperty>:表示操作指定javabean中属性,里面定义了两个属性
·name:表示的是使用的javabean中的id的定义
·property:表示的是设置里面的属性内容,如果为*则表示自动匹配,与表达相匹配;
<jsp:setProperty>表示javabean设置属性,name指的是为那个javabean对象设置属性,
而property指的是javabean对象的属性与表单中的属性匹配;
注意:表单中的属性必须与javabean中属性名字是相同的;
使用这种操作,实际上最终还是调用了javabean中的setter和getter方法;
当然,这种操作的原理依然是反射机制,通过反射机制可以将指定属性名称的setter方法进行调用;