ATG 中有很多概念,这使得提出 Hello World 程序变得不那么困难。您的意思是创建一个 JSP 页面并像商业参考商店一样部署它吗?您想创建一个组件只是为了在 Dyn/Admin 中查看吗?你想创建一个 hello world 存储库吗?根据您想做什么,采取的方法会有所不同。
要使用 ATG,您不必知道如何在数据库中保存值。如果您使用 J2EE 和 MVC 经验来进行 ATG 编程,除非您以全新的思维开始,否则您可能会发现处理它并不困难,因为 ATG 中的情况非常不同。
@radimpe 介绍了如何创建一个 hello world droplet,我将展示如何创建一个简单的组件,以便可以在 Dyn/Admin 中查看它。
创建一个 HelloWorld 组件:它只出现在 DynAdmin 中
创建一个具有以下结构的 Eclipse 项目。
以下是上面截图中显示的每个文件的内容
HelloWorldComponent.java
package com.buddha.components;
import atg.nucleus.GenericService;
import atg.nucleus.ServiceException;
public class HelloWorldComponent extends GenericService {
public String firstStr = "Dummy Value"; /* This value will be overwritten */
public String getFirstStr() {
return firstStr;
}
public void setFirstStr(String firstStr) {
this.firstStr = firstStr;
}
@Override
public void doStartService() throws ServiceException {
super.doStartService();
System.out.println("Hello ATG Component!");
}
@Override
public void doStopService() throws ServiceException {
super.doStopService();
System.out.println("Hello ATG Component! Stops now!");
}
}
清单.MF
Manifest-Version: 1.0
ATG-Required: DafEar.Admin
ATG-Config-Path: config/
ATG-Class-Path: ./bin/
HelloWorldComponent.properties
$class=com.buddha.components.HelloWorldComponent
firstStr=HelloWorld
构建项目并将项目文件夹复制到 ${DYNAMO_ROOT} 并运行以下命令以生成项目的 ear 文件并将其部署到 jboss 服务器中。
runAssembler.bat -jboss HelloWorld.ear -m EXP_HelloATGComponentWorld
导航到 Dyn/Admin 并搜索组件 HelloWorldComponent,然后单击搜索结果中列出的组件。
点击它进入组件页面,查看我们创建的属性及其在属性文件中给出的值。
您可以像这样观察日志
21:53:00,485 INFO [stdout] (http-/0.0.0.0:8080-1:ipaddr=127.0.0.1;path=/dyn/admin/nucleus//com/buddha/components/HelloWorldComponent;sessionid=gT4bmHj5WKs1Rf85GN0Z+9Qu) Hello ATG Component! 这行是因为我们的 doStartService() 中的 sysout 而产生的;
也可以给出其他方法,可以通过 dyn/admin 调用或者与其他组件交互。祝你好运。
来源:Creating a component in Oracle Commerce Platform