我们可以创建一个带有参数化构造函数的组件吗?

Can we create a component with parameterized constructor?

在 ATG 中,为了创建一个组件,我们首先使用默认构造函数及其配置文件创建一个 java class。 如果我想为我的 class 使用参数化构造函数怎么办? 我现在可以用这个创建一个组件吗? 如果是,请解释如何做到这一点以及如何传递这些参数。 如果不是,说明原因。

我们可以在 ATG 中创建参数化构造函数,您可以按如下方式实现。

package mycompany;
public class MyClass {
    private String mystring;
    private int mynumber;

    // The constructor requires two arguments.
    public MyClass (String pMyString, int pMyNumber) {
        mystring = pMyString;
        mynumber = pMyNumber;
    }

    public String getmMyString() {
        return mystring;
    }
    public int getmMyNumber() {
        return mynumber;
    }
}

及其组件。

$class=mycompany.MyClass
$instanceFactory=/atg/dynamo/nucleus/ParameterConstructorInstanceFactory
$constructor.param[0].value=Hello
$constructor.param[0].type=String
$constructor.param[1].value=321
$constructor.param[1].type=int

有关详细信息,请参阅 atg 文档。 http://docs.oracle.com/cd/E36434_01/Platform.10-1-2/ATGPlatformProgGuide/html/s0208parameterconstructorinstancefact01.html