JavaBean遵循着特定的写法,通常有以下的规则:
有无参的构造函数成员属性私有化封装的属性如果需要被外所操作,必须编写public类型的setter、getter方法上面的文字看起来好像很高大上,javaBean其实非常简单,下面的代码就是按照特定写法、规则编写的一个JavaBean对象
public class Person { PRivate String username ; private int age; public Person() { } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }JaveBean你可以理解为一辆货车,在你的java端和web页面进行数据传递的载体,你当然可以每个变量单独传递,或者使用集合传递,但是javabean可以使你的数据更有可读性,方便开发时明确变量的意义,也使其他阅读你代码的人能直接你的意图
> 如果把bean类与数据库联合使用,一张表使用bean类,可以使你的代码更加简洁高效,易于理解,现在大多数框架都会使用这种机制。
<jsp:useBean>
<jsp:useBean>
标签用于在指定的域范围内查找指定名称的JavaBean对象:
语法:
<jsp:useBean id="实例化对象的名称" class="类的全名" scope="保存范围"/>如果JSP不支持<jsp:useBean>
这个行为,我们要使用Person类是这样使用的 <%--这里需要导入Person类--%> <%@ page import="domain.Person" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title></title> </head> <body> <% //new出对象 Person person = new Person(); person.setName("zhongfucheng"); System.out.println(person.getName()); %> </body> </html>效果如下<jsp:useBean>
就显得非常简洁,不用导包,不用new出对象 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title></title> </head> <body> <jsp:useBean id="person" class="domain.Person" scope="page"/> <% person.setName("zhongfucheng"); System.out.println(person.getName()); %> </body> </html>也可以实现同样的效果:<jsp:useBean>
这样的代码就可以创建出一个对象出来。现在我把JavaBean中无参的构造函数改成有参的,我们看看会出现什么情况,出现异常了! public Person(int age) { this.age = age; }<jsp:useBean id="person" class="domain.Person" scope="page"/>
内部原理是这样子的:<jsp:setProperty>
在语法上可分为4种模式
自动匹配指定属性指定参数【很少用】指定内容【很少用】当我们没有学习到时,我们获取表单的信息,然后导入到javaBean对象中是这样的一种情况:
这是表单的页面代码:
<form action="/zhongfucheng/1.jsp" method="post"> 用户名:<input type="text" name="username"> 年龄:<input type="text " name="age"> <input type="submit" value="提交"> </form>这是处理表单提交过来数据的jsp的代码 <jsp:useBean id="person" class="domain.Person" scope="page"/> <% int age = Integer.parseInt(request.getParameter("age")); person.setAge(age); System.out.println(person.getAge()); %>这是可以完成的,但是相对来说,比较麻烦!<jsp:getProperty>
语法:
该jsp行为十分简单,我们来使用一下就知道了。
<%--使用<jsp:getProperty>输出--%> <jsp:getProperty name="person" property="username"/> <jsp:getProperty name="person" property="age"/>效果:新闻热点
疑难解答