gpt4 book ai didi

java - 组织.apache.jasper.JasperException : Cannot find any information on property 'sName' in a bean of type 'AddUserBean'

转载 作者:行者123 更新时间:2023-11-30 09:54:35 25 4
gpt4 key购买 nike

我有一个包含用户注册表单的 html 页面。我收集数据和行动是:

<form name="register" action="../JSP/Register.jsp" method="post">

然后在jsp页面上我有

<HTML>
<HEAD>
<TITLE>Reg JSP</TITLE>

<LINK REL="stylesheet" TYPE="text/css" HREF="commonstyle.css">
</HEAD>
<BODY>
<jsp:useBean id ="user" class ="Data.AddUserBean" />
<jsp:setProperty name ="user" property="*" />

<H1>
Customer Name : <jsp:getProperty name = "user" property = "sName" /><br>
Age :<jsp:getProperty name = "user" property = "iAge" /><br>
Email:<jsp:getProperty name = "user" property = "sEmail" /><br>

</H1>

bean 在包数据中;这是一个 java 类,具有用于这三个属性 sName、iAge 和 sEmail 的 get 和 set 方法。

当我尝试执行代码时,出现错误:

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Cannot find any information on property 'sName' in a bean of type 'Data.AddUserBean'

我正在使用 Tomcat 6 和 Eclipse IDE。

有什么建议吗???

最佳答案

去掉 Hungarian notation ,这在像 Java 这样的 OO 语言中没有意义,并且使 Javabeans 和 EL 中的东西变得不必要的复杂。同时去掉包名中的大写字符,这是不允许的 Java Naming Conventions .

package data;

public class AddUserBean {
private String name;
private int age;
private String email;

public String getName() { return name; }
public int getAge() { return age; }
public String getEmail() { return email; }

public void setName(String name) { this.name = name; }
public void setAge(int age) { this.age = age; }
public void setEmail(String email) { this.email = email; }
}

并按如下方式重写 JSP(大写的 HTML 元素也 90 年代了,你确定你正在阅读最新的教程/书籍吗?):

<!DOCTYPE html>
<html lang="en">
<head>
<title>Reg JSP</title>
<link rel="stylesheet" type="text/css" href="commonstyle.css">
</head>
<body>
<jsp:useBean id="user" class="data.AddUserBean" />
<jsp:setProperty name ="user" property="*" />
<h1>
Customer Name: ${user.name}<br>
Age: ${user.age}<br>
Email: ${user.email}<br>
</h1>
</body>
</html>

在这里,Expression Language (EL,那些 ${} 东西)让您可以轻松即时访问任何范围内的 javabean。 jsp:getProperty 仅在不支持 EL(也不支持 JSTL)时才有用,但那是十年前的事了。您当前使用的 servletcontainer 肯定支持 EL。

另见:

关于java - 组织.apache.jasper.JasperException : Cannot find any information on property 'sName' in a bean of type 'AddUserBean' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3231750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com