我将开发一个 eclipse 插件来生成简单的 Java 源代码。最初我需要将 XML 文件转换为 Java 类代码。我从互联网上找到了 Apache Velocity,现在我正在玩一些简单的东西。这是我的输入 XML 文件:
<?xml version= "1.0" encoding= "UTF-8" ?>
<Content>
<Class name= "Customer" acc_modif="public">
<attributes>
<attribute attribute_type= "String" attribute_name= "studentName" attribute_acc_modifer="public"/>
<attribute attribute_type= "int" attribute_name= "age" attribute_acc_modifer="public"/>
</attributes>
<constructors>
<constructor con_acc_modifer="public" con_name="Student">
<para para_type="String" para_name="studentName"/>
<para para_type="int" para_name="age"/>
</constructor>
<constructor con_acc_modifer="public" con_name="Student">
<para para_type="String" para_name="studentName"/>
<para para_type="int" para_name="age"/>
</constructor>
</constructors>
</Class>
</Content>
这是我的模板文件:
## class .vm
##apachi-3
import java.util.*;
$class.acc_modif class $class.name {
#foreach ( $att in $class.attributes )
$att.attribute_acc_modifer $att.attribute_type $att.attribute_name;
#end
#foreach ( $con in $class.constructors )
$con.con_acc_modifer $con.con_name ( $con.para_type $con.para_name ) { ## Not working :(
}
#end
}
输出是这样的:
import java.util.*;
public class Customer {
public String studentName;
public int age;
public Student ( $con.para_type $con.para_name ) { }
public Student ( $con.para_type $con.para_name ) { }
}
学生构造函数不工作。我想我需要在括号内使用另一个循环而不是"$con.para_type $con.para_name"
但我不知道如何在这里使用另一个循环(我是 Apache Velocity 的菜鸟)。
速度大师请帮助我!