缩短struts配置中的类型名称

时间:2010-11-08 21:58:33

标签: struts

我有这个非常大的基于struts的网络应用程序,我必须维护,包名称遵循这个约定(或多或少):

[app-name].[module].[module-variant].[layer].[activity].[activity-variant]

jsp文件以类似的方式排列:

Web-Content/jsp/[app-name]/[module]/[module-variant]/[activity]/[activity-variant]

所以当我必须添加另一个动作映射到struts-config.xml时我必须写 再次这个:

[app-name].[module].[module-variant].[layer]

这是前瞻性的:

/jsp/[app-name]/[module]/[module-variant]/

通过几个动作映射,struts-config.xml文件变得非常嘈杂,而且很难理解动作一目了然。

那么,有没有办法指定globaly一个包名,所以我不必为struts-config.xml中的每个动作类写一个完全限定名? 例如,在hibernate映射中,您可以指定“package”和“schema”,并使用其短名称引用表/类

顺便说一下,使用struts 1.3

1 个答案:

答案 0 :(得分:1)

据我所知,没有办法做到这一点; Struts期望ActionFormAction等的完全限定类名。

你可以做的是写一个带有全局名称和东西的“你特殊的”struts-config.xml文件,然后在构建时通过一个工具来重新生成Struts期待的实际struts-config.xml

您还可以使用XDoclet在Action类中放置一些“注释”(不是Java 5注释:D),从而在构建时完全生成struts-config.xml文件。

或者你可以使用一个很好的格式化xml并且习惯它。