Spring Portlet @ActionMapping的用法


问题内容

可以请任何人解释一下,POST请求应如何正确映射?从API文档尚不清楚。

值应分配有动作参数javax.portlet.action的值

@ActionMapping(value = "addDocOrder")
public void addDocOrder(@ModelAttribute("order").......

AND接下来,我们有了“ params”(JAVADOC:已映射请求的参数,从而缩小了主映射。)

@ActionMapping(params = "action=addDocOrder")
public void addDocOrder(@ModelAttribute("order").......

注释的value()参数的JAVADOC:操作的名称,根据Portlet 2.0“
javax.portlet.action”参数。如果未指定,则该方法将用作默认处理程序:即,对于未找到特定动作映射的动作请求。请注意,所有这些带注释的操作方法仅适用于包含处理程序类的@RequestMapping约束。

我绝对不明白“值”注释参数存在的意义。它在那里毫无意义…它本来应该是主要映射,而次要映射却是参数,但是{params =“ action =
addOrder”}使“值”成为多余。

请:看看与这个问题相关的https://stackoverflow.com/questions/4782971/handling-ajax-
requests-with-spring-
portlet


问题答案:

我也同意您的评估。阅读规范时,我唯一能看到的真正好处就是在标记中添加了一些特殊处理。显然,这两个是等效的:

<portlet:actionURL>
  <portlet:param name="javax.portlet.action" value="addDocOrder"/>
</portlet:actionURL>

<portlet:actionURL name="addDocOrder" />

那是来自规范中的“ PLT.26.2 actionURL Tag”。