读书人

找不到bean(The value for the useBe

发布时间: 2012-03-18 13:55:39 作者: rapoo

找不到bean(The value for the useBean class attribute test.acceptPara is invalid)
报错:
org.apache.jasper.JasperException: /wlxy_1/web/acceptPara.jsp(4,0) The value for the useBean class attribute test.acceptPara is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1227)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
org.apache.jasper.compiler.Generator.generate(Generator.java:3272)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

JSP 页面1:
---------------------------
<form method= "POST " action= "acceptPara.jsp ">
<p align= "center ">
姓 名: <input type= "text " name= "name " size= "20 "> <br>
年 龄:    <input type= "text " name= "age " size= "15 "> <br>
性 别:    <input type= "radio " value= "male " checked name= "sex ">
男     <input type= "radio " name= "sex " value= "female ">
女 </p>
<p align= "center ">
<input type= "submit " value= "submit " name= "submit ">
<input type= "reset " value= "reset " name= "reset "> </p>
</form>

页面2:
acceptPara.jsp
-----------------------------------------------------
<%@ page language= "java " errorPage= "error.jsp " %>
<html>
<%@ page import= "test.acceptPara " contentType= "text/html;charset=gb2312 "%>
<jsp:useBean id= "atest " class= "test.acceptPara "/>
<head> <title> acceptPara.jsp </title> </head>
<body>
<jsp:setProperty name= "atest " property= "* "/>


Value of property "name " :
<jsp:getProperty name= "atest " property= "name "/> <br>
Value of property "age " :
<jsp:getProperty name= "atest " property= "age "/> <br>
Value of property "sex " :
<jsp:getProperty name= "atest " property= "sex "/> <br>
Value of property "submit " :
<jsp:getProperty name= "atest " property= "submit "/> <br>
</body>
</html>


bean 代码:
acceptPara.java
---------------------------
package test;
public class acceptPara{
String name;
int age;
String sex;
String submit;

public void setName(String value){
name=value;
}
public String getName(){
return name;
}
public void setAge(int value){
age=value;
}
public int getAge(){
return age;
}
public void setSex(String value){
sex=value;
}
public String getSex(){
return sex;
}
public void setSubmit(String value){
submit=value;
}
public String getSubmit(){
return submit;
}
public void acceptPara(){}
}


很久了就是搞不出来问题的原因。。。请指教。。。。

[解决办法]
public void setName(String value){
name=value;
}

试下把 value改为其它名,三个都是String value.
[解决办法]
你是不是没有把工程放在默认的webapps下面,而是自定义了自己的路径??并且在local文件夹下面设置了xml?( <Context path= " " docBase= " "/> )
如果是的话,那么你试一下docBase的路径设置为WEB-INF的上一层目录。。。例如:test\WebRoot\WEB-INF的话。那docBase就设置为...test\WebRoot(...省略的路径)
[解决办法]
修改了一下,经测试,正常

JSP 页面1:(没作修改)
页面2:
acceptPara.jsp
-----------------------------------------------------
<%@ page language= "java " errorPage= "error.jsp " %>
<html>
<%@ page import= "java.io.* " contentType= "text/html;charset=gb2312 "%>
<jsp:useBean id= "atest " scope= "page " class= "test.acceptPara " />
<head> <title> acceptPara.jsp </title> </head>
<body>
<jsp:setProperty name= "atest " property= "* "/>
Value of property "name " :
<jsp:getProperty name= "atest " property= "name "/> <br/>
Value of property "age " :
<jsp:getProperty name= "atest " property= "age "/> <br/>
Value of property "sex " :
<jsp:getProperty name= "atest " property= "sex "/> <br/>
Value of property "submit " :


<jsp:getProperty name= "atest " property= "submit "/> <br/>
</body>
</html>

bean 代码:
acceptPara.java
-----------------------------------------------------
package test;

public class acceptPara{
String name;
int age;
String sex;
String submit;

public acceptPara() {}

public void setName(String value){
this.name=value;
}
public String getName(){
return name;
}
public void setAge(int value){
this.age=value;
}
public int getAge(){
return age;
}
public void setSex(String value){
this.sex=value;
}
public String getSex(){
return sex;
}
public void setSubmit(String value){
this.submit=value;
}
public String getSubmit(){
return submit;
}
}
[解决办法]
无语。
居然这么把问题解决了。感觉很别扭。

读书人网 >Java Web开发

热点推荐