zoukankan      html  css  js  c++  java
  • jsp:useBean的属性class值一直报错的问题

    先附上代码:

     1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
     2 
     3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     4 <html>
     5   <head>   
     6     <title>jsp:setProperty标签</title>
     7   </head>
     8   
     9   <body>
    10       <jsp:useBean id="person" class="edu.hust.domain.Person" scope="page"/>
    11   <!-- 手动为bean属性赋值 -->
    12     <jsp:setProperty name="person" property="name" value="abc"> <br>
    13   </body>
    14 </html>

      今天在学习jsp后,尝试着写第一个jsp代码,但发现jsp:useBean标签的class属性值一直报错,纠结了很长一段时间,终于解决了。

      这得从什么是javaBean说起。javaBean是拥有特殊写法的一类java,一个javabean必须满足三个条件:

        1,属性必须私有化;

        2,必须拥有一个无参的构造函数;

        3,私有化的属性必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规则。

      而我的JavaBean是这么写的:

    package edu.hust.domain;
    
    public class Person {
        private String name;
        private String age;
            
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
    }

    很明显这里面是没有控参数的构造函数的,因此它不是一个标准的JavaBean,尽管它有一个默认的控参数构造函数,但是在代码里是没有体现的,编译器就通不过,因此只需在上面的代码里面加入一个控参数的构造函数就可以。值得注意的是,当我再将空参数的构造函数删除时,错误也不再出现(我们首先还是重启一下jsp文件,再看错误是否存在)。

    参考:http://hi.baidu.com/lqihidnqhobfmoq/item/a1d6d3ed883ea32c5b7cfb61

  • 相关阅读:
    VSS使用
    Delphi简单数据库连接程序
    为表增加字段与拷贝数据到另一个表
    VSTS 使用
    Delphi实现个相似的功能界面共用一个窗体
    看代码笔记
    数据库安全管理
    函数
    【USACO】Ordered Fractions 顺序的分数
    C# 专业数据库连接配置界面
  • 原文地址:https://www.cnblogs.com/pengineer/p/3819058.html
Copyright © 2011-2022 走看看