Spring portlet @ActionMapping用法

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

应使用action参数javax.portlet.action的值指定value

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

接下来我们有“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

我同意你的评估。 我在阅读规范时可以看到的唯一真正优势是添加了标签中的一些特殊处理。 显然这两个是等价的:

     

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

javax.portlet.action是value()映射到的参数的名称。 所以对于像这样的映射:

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

您的请求URL应该构建如下: