2010-07-05 7 views
5

Tôi muốn nhập một lớp mà tôi thực hiện trong dự án của tôi, vào kịch bản của tôi Tôi đã làm điều này nhưng nó không hoạt động:nhập một lớp trong Scripting java (javax.script)

function doFunction(){ 
//Objectif Mensuel 
importPackage(java.lang); 
importClass(KPDataModel.KPData.KPItem); //ERROR HERE, this is my class that I want to import 

KPItem kpItem = kpItemList.get(0); 
System.out.println(kpItem.CellList.get(2).Value); 
System.out.println("-------"); 
var proposedMediationSum = Integer.parseInt(kpItemList.get(0).CellList.get(2).Value); 
var refusedMediationSum = Integer.parseInt(kpItemList.get(0).CellList.get(3).Value) 
var totalMediation = proposedMediationSum + refusedMediationSum; 

kpItemList.get(0).CellList.get(4).Value = totalMediation; 

} 
+0

Bạn có thể đăng lỗi mà bạn nhận được không? Tôi nghi ngờ KPDataModel.KPData.KPItem không phải là tên lớp hoàn toàn đủ điều kiện hoặc bao gồm tất cả các lớp bạn muốn sử dụng. tức là kpItemList được định nghĩa ở đâu? Đây là một hướng dẫn khá tốt http://java.sun.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html#jsimport –

Trả lời

4

Vâng, thnx rất nhiều, tôi thấy rằng vấn đề xuất phát từ việc nhập. Đây là nội dung được nêu trong trang web của Oracle:

Biến toàn cầu gói có thể là được sử dụng để truy cập gói Java. Ví dụ: Packages.java.util.Vector, Packages.javax.swing.JFrame. Vui lòng lưu ý rằng "java" là lối tắt cho "Packages.java". Có các phím tắt tương đương cho tiền tố javax, org, edu, com, , vì vậy tất cả các lớp nền tảng JDK JDK có thể được truy cập mà không có tiền tố "Gói".

Vì vậy, để nhập khẩu lớp tôi đã sử dụng: importClass (Packages.KPDataModel.KPData.KPItem);