我正在尝试使用 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/