0

我正在使用 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">

请让我知道,提前谢谢。

4

2 回答 2

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 无关,对吧?

于 2012-07-05T12:00:43.260 回答
0

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

<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %>
于 2012-07-09T14:53:32.297 回答