例如有一个模块名为teacher,包含对教师的列表、增、删、改等操作,因此应该有与这些操作相对应的Action。这样就涉及到它们的命名问题。
一开始我为他们的path起名为/listTeachers、/editTeacher和/saveTeacher(删除操作暂时没写),其中listTeachers用于列表,editTeacher判断request中的action参数产生新增或编辑的Form并跳转至Form页,saveTeacher则是在用户提交表单后执行实际的操作。
随后我发现,这样一来在IE路径中就有两个teacher了,比如:
http://localhost:8080/democenter/teacher/listTeachers.do
如果去掉path中的teacher字样不就简明多了吗。因此我修改了path名,为统一起见,类名中也去掉了teacher字样。幸好目前的代码还很少,否则光这么一改就不知道要反复调试多少时间了。现在,我可以用下面的路径访问了:
http://localhost:8080/democenter/teacher/list.do
问题又来了,我想到等模块多起来以后,按这样的命名方法,工程里就会有大量的EditAction.java等文件,虽然它们的包名不同,但在程序中看过去还是会有些费劲的,特别是使用eclipse的Ctrl+Alt+T打开类的时候,要在众多同名文件中根据包来选,远不如直接输入唯一的类名方便。
因此,我觉得比较好的命名方式是把path和类名分开,path使用省略包的命名方法(如/edit),而类名还保持EditTeacherAction的方式。