我正在使用Liferay 6进行开发。
我已经在文件liferay-portlet.xml
文件
<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">
请提前告知我们。
答案 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" %>