Struts Action类是否可以包含多个create()方法

时间:2016-05-05 13:39:22

标签: rest struts2

我有一个实现ModelDriven的Struts动作类,将根据请求类型调用方法create()index()

我可以使用多种create()方法来区分或不可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用感叹号!指定方法。根据

RESTful URL Mapping Logic:

  

这个Restful动作映射器强制执行Ruby-On-Rails REST样式的映射。如果未指定方法(通过'!'或'方法:'前缀),则该方法已被猜测"使用REST样式约定来检查URL和HTTP方法。已经特别注意确保此映射器与代码隐藏插件一起正常工作,以便不需要XML配置。

如果让动作映射器根据参数确定方法

  

此映射器支持以下参数:

     
      
  • struts.mapper.idParameterName - 如果设置,此值将是存储id的参数的名称。然后将从操作名称中删除该ID。无论是否指定了方法,映射器都会尝试从URL中截断标识符并将其存储为参数。
  •   
  • struts.mapper.indexMethodName - 调用没有id参数的GET请求的方法名称。默认为index
  •   
  • struts.mapper.getMethodName - 使用id参数调用GET请求的方法名称。默认为show
  •   
  • struts.mapper.postMethodName - 调用没有id参数的POST请求的方法名称。默认为create
  •   
  • struts.mapper.putMethodName - 使用id参数调用PUT请求的方法名称。默认为update
  •   
  • struts.mapper.deleteMethodName - 使用id参数调用DELETE请求的方法名称。默认为destroy
  •   
  • struts.mapper.editMethodName - 使用id参数和指定的编辑视图调用GET请求的方法名称。默认为edit
  •   
  • struts.mapper.newMethodName - 调用没有id参数的GET请求并指定新视图的方法名称。默认为editNew
  •   

方法名称不能有多个名称。