java - 在 Spring MVC 中从 JS/jQuery/Ajax 进行 ActionRequest 调用

标签 java javascript spring-mvc liferay

我正在尝试使用 JavaScript 中的特定参数重定向到 portlet。我根据用户点击的链接获取参数(这部分没问题,我得到了我需要的所有数据),然后构造一个 URL,我尝试使用简单的 JS window.location 获取它。

我的 Controller :

@RenderMapping
public String view(Model model){
    model.addAttribute("some", "stuff");
    return "myPortlet/view";
}

@ActionMapping(params = "action=importantAction")
public void doAction(ActionRequest request, ActionResponse response){
    String foo = request.getParameter("one");
    String bar = request.getParameter("two");
    System.out.println("Got " + one + " & " + two);
}

我的JS:

function myFunction(one_val, two_val){
    window.location = "http://www.my.url.com/nameOfMyPortlet?one=" + one_val +
        + "&two=" + two_val + "&action=importantAction";
}

这会重定向到正确的页面,但是操作参数不断被忽略,并且整个 doAction 方法不会被执行。

如何从 JavaScript 将操作参数传递到目标 portlet?

我正在使用 Liferay 和 Spring MVC..

谢谢!

最佳答案

您是否尝试使用以下方式创建操作 URL?

var portletURL = new Liferay.PortletURL('ACTION_PHASE'); portletURL.setWindowState("最大化"); 在 portletURL 中,您可以设置调用操作所需的参数。

以下链接供引用

http://www.liferay.com/web/eduardo.lundgren/blog/-/blogs/liferay-portleturl-in-javascript

关于java - 在 Spring MVC 中从 JS/jQuery/Ajax 进行 ActionRequest 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19635109/

相关文章:

javascript - 是否可以在 WebSockets 中使用具有所需端口(例如 6500)的 http 方案而不是 ws 和 wss 方案?

javascript - 如何使用 Protractor 验证是否出现具有类的元素

java - Spring Mvc学员报名表

java - 如何在 spring mvc 中轻松创建表

jsp - 使用SpringMVC +嵌入式Jetty + Gradle设置JSP

Java在Eclipse中打开现有项目

java - 在Java中改变RGB颜色

java - 必须在 <advisor> 上定义 'pointcut' 或 'pointcut-ref' 之一

java - 如何在 Java 中读取多行输入

javascript - Node.js虚拟内存在使用子进程时不断增加