2009-12-22 13 views
6

Tôi đang cố gắng sử dụng một đối tượng Java trong Coldfusion bằng cách sử dụng hàm CreateObject.Truyền đối số cho các hàm tạo bằng cách sử dụng CreateObject trong Coldfusion

này hoạt động tốt khi các nhà xây dựng trong lớp Java không mất bất kỳ đối số ví dụ:

MyObject myObject = new MyObject(); 

Goes to

myObject = CreateObject("java", "com.something.MyObject"); 

Nhưng tôi không chắc chắn làm thế nào để truyền tham số cho hàm tạo cho mã như sau:

MyObject2 myObject2 = new MyObject2(myArgment); 

Tôi chắc chắn điều này thực sự đơn giản, nhưng tôi không thể tìm thấy điều này nywhere.

Cảm ơn,

Tom

Trả lời

15

Bạn có thể vượt qua chúng trong phương thức init như thế này:

myObject = CreateObject("java", "com.something.MyObject").init(constructorArg1, constructorarg2); 

Lưu ý rằng nếu bạn không gọi init ở tất cả sau đó bạn sẽ được làm việc với chỉ các phương thức tĩnh của đối tượng và không phải là một cá thể.

+2

Chỉ cần làm rõ, gọi phương thức init() trên đối tượng java gọi hàm tạo của đối tượng đó. Init() không phải là phương thức thực của đối tượng và chỉ được sử dụng để gọi hàm tạo: http://livedocs.adobe.com/coldfusion/8/htmldocs/Java_7.html – Leigh