Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Вопрос по BeanShell


Автор: Dimatochkaru 14.10.2008, 20:57
Здравствуйте, друзья!
Помогите пожалуйста разобраться с ошибкой скриптинга  BeanShell!

ClassName - переменная хранит значение "Clients".

Код


import bsh.Interpreter;
import ru.mycompany.ejb.acs.entity.Clients;


Interpreter i = new Interpreter();

            try {
              
                i.eval(ClassName+" NewObj"+ClassName+" = new "+ClassName+"();"); 

            } 
            catch (Exception ex) 
           {
            ex.printStackTrace();
            }



Ругается так:

Typed variable declaration : Class: Clients not found in namespace : at Line: 1 : in file: inline evaluation of: ``Clients NewObjClients = new Clients();'' : Clients


Класс Clients - public, досупен и объявлен.
В чём может быть проблема, почему BeanShell его не видит?


 С Уважением!

Автор: Dimatochkaru 15.10.2008, 06:42
Здравствуйте, друзья!
Помогите пожалуйста разобраться с ошибкой скриптинга  BeanShell!

ClassName - переменная хранит значение "Clients".


Код

package ru.mycompany.ejb.acs.request;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import bsh.Interpreter;
import ru.mycompany.ejb.acs.entity.Clients;

public class DMLOperationsControllerBean
extends UnicastRemoteObject 
        implements DMLOperationsController
{

public  DMLOperationsControllerBean()
throws RemoteException 
{
super();
}

public void DMLOperationExecute(String typeOperation, String ClassName, HashMap HMValue, HashMap HMType, HashMap HMIdOfType,  Long IdIfEdit) throws RemoteException, Exception
    { 
     
 Interpreter i = new Interpreter();

  try 
  { 
          i.eval(ClassName+" NewObj"+ClassName+" = new  "+ClassName+"();"); 
  } 
  catch (Exception ex) 
  { 
  ex.printStackTrace(); 
  }

//Продолжение кода ...


    }

}


Ругается так:

Typed variable declaration : Class: Clients not found in namespace : at Line: 1 : in file: inline evaluation of: ``Clients NewObjClients = new Clients();'' : Clients


Класс Clients - public, досупен и объявлен.
В чём может быть проблема, почему BeanShell его не находит?


С Уважением!





Автор: tux 15.10.2008, 06:58
Потому что также как и в Java нужно либо сделать import класса либо использовать полное имя вместе с пакетом.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)