运行JSP页面出错:org.apache.jasper.JasperException: Can't find a method to write property 'message' of type 'java.lang.String' in a bean of type 'com.inspiresky.bean.Hello'
org.apache.jasper.runtime.JspRuntimeLibrary.internalIntrospecthelper(JspRuntimeLibrary.java:370)
org.apache.jasper.runtime.JspRuntimeLibrary.introspecthelper(JspRuntimeLibrary.java:308)
org.apache.jsp.mytest_jsp._jspService(mytest_jsp.java:66)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
我一共建了2个文件: Hello.java: package com.inspiresky.bean;public class Hello {
private String message = "12345";
public String getMessage(){
return message;
}
public void setMessgae(String message){
this.message =message;
}
}
mytest.jsp: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><jsp:useBean id="hello" class="com.inspiresky.bean.Hello" scope="page" />
<jsp:setProperty name="hello" property="message" value="12345"/><html>
<head>
<title>My JSP 'mytest.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<jsp:getProperty name="hello" property="message" /><br>
This is my JSP page.<br>
</body>
</html>
请问大家是什么问题?
我一共建了2个文件: Hello.java: package com.inspiresky.bean;public class Hello {
private String message = "12345";
public String getMessage(){
return message;
}
public void setMessgae(String message){
this.message =message;
}
}
mytest.jsp: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><jsp:useBean id="hello" class="com.inspiresky.bean.Hello" scope="page" />
<jsp:setProperty name="hello" property="message" value="12345"/><html>
<head>
<title>My JSP 'mytest.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head>
<body>
<jsp:getProperty name="hello" property="message" /><br>
This is my JSP page.<br>
</body>
</html>
我标红的地方不是message属性 还有 setProperty 吗?
也就是 message
this.message =message;
}这个方法的名字出错 , 不是 setMessgae , 而是 setMessage
然后最好加上 无参构造函数,使当tomcat或者其他容器加载创建时不会出错!