2009-11-23 5 views
0

Я работаю с JSP usebean, когда я пытаюсь использовать bean-компонент в JSP, его исключение исключает «Не может найти класс». Но я следовал правильной структуре, полагаю, и включил все необходимое. Прочитайте код и сообщите мне, что может быть проблемой.Исключение из JSP usebean

//init.jsp 
-------- 
<%@ page import="com.wipro.upload.extract.EmployeeDetailsExtract" %> 
<%@ page import="com.wipro.upload.extract.ColumnDetailsExtract" %> 
<%@ page import="com.wipro.upload.extract.dto.Employee" %> 
<%@ page import="com.wipro.upload.bean.Data" %> 
<jsp:useBean id="detailsbean" class="com.wipro.upload.bean.Data" scope="session" /> 
<jsp:setProperty name="detailsbean" property="*" /> 
<% 
detailsbean.setValues(new EmployeeDetailsExtract("c:\\new.xls").employeeListExtracter()); 
List list=detailsbean.getValues(); 

Iterator itr=list.iterator(); 
while(itr.hasNext()) 
{ 
    Employee emp=(Employee)itr.next(); 
    out.println(emp.employeeName); 
} 
%> 

// Data.java 
package com.wipro.upload.bean; 
import java.util.*; 
public class Data 
{ 
private List column; 
private List values; 
public Data() 
{ 
} 
public void setColumn(List column) 
{ 
    this.column=column; 
} 

public List getColumn() 
{ 
    return column; 
} 
public void setValues(List values) 
{ 
    this.values=values; 
} 
public List getValues(List values) 
{ 
    return values; 
} 
} 

произошедшей ошибке при попытке выполнить приведенный выше код,

org.apache.jasper.JasperException: /init.jsp(6,0) The value for the useBean class attribute com.wipro.upload.bean.Data is invalid. 
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) 
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) 
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148) 
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272) 
    org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) 
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) 
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417) 
    org.apache.jasper.compiler.Node$Root.accept(Node.java:495) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) 
    org.apache.jasper.compiler.Generator.generate(Generator.java:3426) 
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:332) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:312) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:299) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
+0

Нет ничего такого, как «Невозможно найти класс» в указанном вами исключении. – Bozho

ответ

4

Вы не можете использовать * с List. Механизм jsp пытается преобразовать значения запроса (которые являются String) в тип целевого свойства. Check this для информации о <jsp:setProperty />. У вас должны быть только примитивы (и их обертки) + String в вашем bean-int (Integer), long (Long) и т. Д.

+0

Должен ли я использовать так: значения - это атрибут в Data.java ... – i2ijeya

+1

, вы не можете установить списки с помощью jsp: setPropety. Если у вас есть флажки или несколько вариантов на вашей странице, используйте String [] или int []. – Bozho

+0

В моем приложении объекты-работники хранятся в списке, а детали должны храниться в базе данных. Итак, какое свойство я могу использовать для достижения моей потребности? – i2ijeya

Смежные вопросы