关于在Eclipse中开发Javaweb遇见的“ Cannot find any information on property 'xxx' in a bean of type 'xxx.xxx'”错

1、本人在创建一个Web登录跳转页面,因为是先写的JavaBean,后来发现JavaBean中的成员变量(字段)名称和登录页面login.jsp中的name属性不一致,如下:
(1)JavaBean代码

`

public class UserInfo {

private String name;
private String pwd;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name= name;
}
public String getPwd() {
	return pwd;
}
public void setPwd(String pwd) {
	this.pwd = pwd;
}

}
(2)login.jsp
`<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>

Insert title here
<form id="form1" name="form1" method="post" action="do.jsp">

	<h2>用户登录</h2>
	
	用户名:<input type="text" name="username" id="username" /> <br/>
	密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="pwd" id="pwd" /><br /><br />
	
	<input type="submit" name="btn1" value="提交" id="btn1">
	<input type="reset" name="btn1" value="重置" id="btn2">
</form>
` 于是将JavaBean中的成员变量名称改为和登录页面login.jsp中的name属性一致,修改后的JavaBean代码如下:

`public class UserInfo {

private String username;
private String pwd;
public String getName() {
	return username;
}
public void setName(String name) {
	this.username = name;
}
public String getPwd() {
	return pwd;
}
public void setPwd(String pwd) {
	this.pwd = pwd;
}

}
`
可以看出只将3处name改为了username
然后运行提示错误如下:

HTTP Status 500 – Internal Server Error
Type Exception Report

Message Cannot find any information on property 'username' in a bean of type 'javabean.UserInfo'

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: Cannot find any information on property 'username' in a bean of type 'javabean.UserInfo'
	org.apache.jasper.runtime.JspRuntimeLibrary.getReadMethod(JspRuntimeLibrary.java:753)
	org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1221)
	org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:1122)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
	org.apache.jasper.compiler.Node$Root.accept(Node.java:464)
	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
	org.apache.jasper.compiler.Generator.generate(Generator.java:3656)
	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:252)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:358)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:338)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:325)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:580)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

重要错误信息为:Cannot find any information on property ‘username’ in a bean of type ‘javabean.UserInfo’

【解决方法】重写JavaBean(重新生成Getter和Setter)
最终的JavaBean代码是:

public class UserInfo {
	private String username;
	private String pwd;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
}

大家注意和之前进行比较

【总结】
在javaweb中使用javabean,如果中途修改javabean内容,要重新自动生成get和set方法,否则运行时会报错。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值