[英]JSP Hello Page Error
我是JSP的初学者,正在尝试做简单的jsp页面。 ı要设置我的班级字段名称和姓氏并在页面上打印。 我的课 :
package org.mypackage.person;
/**
*
* @author cemalinanc
*/
public class Person {
private String name;
private String surname;
Person()
{
name = null;
surname = null;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the surname
*/
public String getSurname() {
return surname;
}
/**
* @param surname the surname to set
*/
public void setSurname(String surname) {
this.surname = surname;
}
}
和我的index.jsp像:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<form name="input form" action="response.jsp">
Name:
<input type="text" name="name" value="" />
Surname:
<input type="text" name="surname" value="" />
<input type="submit" value="Ok" />
</form>
</body>
</html>
我的response.jsp页面是这样的:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<jsp:useBean id="mybean" scope="session" class="org.mypackage.person.Person" />
<jsp:setProperty name="mybean" property="name" />
<h1>Hello, <jsp:getProperty name="mybean" property="name" />!</h1>
</body>
</html>
我只想在班级中设置两个字段并打印以筛选两个字段,但我做不到。 后来我尝试仅打印名称字段,但再次无法打印。 我遇到一个类似的错误:
服务器遇到内部错误(),导致服务器无法满足此请求。 org.apache.jasper.JasperException:/response.jsp(行:15,列:8)useBean类属性org.mypackage.person.Person的值无效。
这是什么问题?
如果您能给我一个主意,我将不胜感激。 非常感谢您的帮助。
删除您的Person()
构造函数。
由于未使用“ public”声明,因此默认范围是“ package scope”而不是“ public”。 根据http://java.sun.com/products/jsp/tags/syntaxref.fm14.html ,“该类不能是抽象的,并且必须具有公共的,无参数的构造函数”。
我建议只删除构造函数,因为它什么也没做。 默认情况下,您的name
和surname
实例变量将已经初始化为null-只要没有声明其他构造函数,就会自动为您自动创建一个默认的,公共的,无参数的构造函数。
(我还建议从您的bean类中删除Javadoc注释。Javadocs(或任何其他文档)应该是有意义的,并且诸如“返回名称”之类的信息不会告诉我们我们尚不知道的任何内容。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.