如何在“提交”按钮上单击MVCPortlet类中的action方法

时间:2012-07-05 11:28:23

标签: jsp liferay liferay-6 method-call

我正在使用Liferay 6进行开发。

我已经在文件liferay-portlet.xml文件

中添加了对Liferay的JQuery支持
<header-portlet-javascript>https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js</header-portlet-javascript>
         <header-portlet-javascript>https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.15/jquery-ui.min.js</header-portlet-javascript>

现在我有一个包含用户名和密码的表单,如下所示:

  <form>
    <div>
        <input class="default-value" type="text" name="Name" value="Name" />
        <input class="default-value" type="text" name="Password" value="Password" />
    </div>
    </form>

<div class="fieldgroup">
 <input type="submit" value="Register" class="submit">
</div>

<liferay-portlet:actionURL name="registerUser" var="registerUserURL"></liferay-portlet:actionURL>

我有一个CustomPortlet,如下所示,并将其添加到portlet.xml文件中,如图所示

 <portlet>
    <portlet-name>Second</portlet-name>
    <display-name>Second</display-name>
    <portlet-class>com.SecondPort</portlet-class>


public class SecondPort extends MVCPortlet {

public void registerUser(ActionRequest request, ActionResponse response) 
{
// Some code here with respect to the registerUser .
}
}

现在请点击JSP页面上的提交按钮告诉我,如何调用此registerUser方法?

 <input type="submit" value="Register" class="submit">

请提前告知我们。

2 个答案:

答案 0 :(得分:2)

对于你的jsp你很亲密。需要使用actionURL和portlet的命名空间进行一些重新排序。警告 - 在stackoverflow应答窗口中键入,实际上没有编译/运行:

<liferay-portlet:actionURL name="registerUser" var="registerUserURL"></liferay-portlet:actionURL>
<form action="<%=registerUserURL%>">
    <div>
        <input class="default-value" type="text" name="<portlet:namespace/>Name" value="Name" />
        <input class="default-value" type="text" name="<portlet:namespace/>Password" value="Password" />
    </div>
</form>

<div class="fieldgroup">
 <input type="submit" value="Register" class="submit">
</div>

当您扩展Liferay的MVC portlet时,portlet端看起来没问题 - 只需在那里使用request.getParameter("Name");

这根本与jQuery无关,对吧?

答案 1 :(得分:0)

不要忘记在jsp的顶部添加以下内容:

<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %>