【发布时间】:2013-11-17 04:19:32
【问题描述】:
我正在开发一个 Liferay Portlet,我刚刚从 view.jsp 页面调用了一个操作函数。 我已经在以前的 portlet 中实现了这段代码,但现在我不知道为什么它不起作用 portlet 的代码是 在 view.jsp 中
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
<portlet:actionURL var="insert" name="interlope"></portlet:actionURL>
<script type="text/javascript" charset="utf-8">
function embedFun()
{
try
{
alert(insert.toString());
document.getElementById('insertpart').action='<%=insert.toString()%>';
document.getElementById('insertpart').submit();
}
catch(err)
{
alert("embedfun of shop_search view.jsp: "+err);
}
}
</script>
and my action class is
package com.shop.search;
import java.io.IOException;
import java.rmi.RemoteException;
import java.sql.Date;
import java.util.List;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import javax.portlet.ProcessAction;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.ResourceRequest;
import javax.portlet.ResourceResponse;
import shop.search.item.model.Cart;
import shop.search.item.model.Item;
import shop.search.item.model.available;
import shop.search.item.model.impl.CartImpl;
import shop.search.item.service.CartLocalServiceUtil;
import shop.search.item.service.ItemLocalServiceUtil;
import shop.search.item.service.availableLocalServiceUtil;
import com.liferay.compat.portal.util.PortalUtil;
import com.liferay.counter.service.CounterLocalServiceUtil;
import com.liferay.portal.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.ParamUtil;
import com.liferay.portal.kernel.util.WebKeys;
import com.liferay.portal.model.PortletPreferences;
import com.liferay.portal.model.User;
import com.liferay.portal.theme.ThemeDisplay;
import com.liferay.util.bridges.mvc.MVCPortlet;
/**
* Portlet implementation class Shop_SearchPortlet
*/
public class Shop_SearchPortlet extends MVCPortlet
{
@ProcessAction(name="interlope")
public void interlope(ActionRequest req, ActionResponse res)
throws PortletException, SystemException, RemoteException
{
String searchVal=req.getParameter("inputText");
List<Item> tbl=null;
if(searchVal!=null)
{
tbl=ItemLocalServiceUtil.findItemByBrand(searchVal);
if(tbl!=null)
{
req.setAttribute("tblval",tbl);
System.out.println("@@@@@@@@@@@@ val of obj: "+tbl);
enter code here
}
else
System.out.println("@@@@@@@@ val of tbl obj: "+tbl);
}
}}
` //redirect to insert action class
{
try
{
alert(insert.toString());
document.getElementById('insertpart').action='<%=insert.toString()%>';
document.getElementById('insertpart').submit();
}
catch(err)
{
alert("embedfun of shop_search view.jsp: "+err);
}
}
</script>
<form method="post" id="insertpart">
<table>
<tr>
<td>
<input type="text" id="inputText" name="inputText">
<input type="button" value="search" name="submitbutton" onclick="embedFun();">
</td>
</tr>
<tr>
</tabale>
如果您在我的代码中注意到我在 javascript 代码中添加了 try 和 catch 块到 insert 的值是什么,我得到 insert 中没有值意味着插入中没有 url 没有语法问题 除了输出没有,请帮助我。 我已经完成了另一个与此相同的工作正常。由于某些问题,我更改了我的工作区,这可能是原因,即使我向我的朋友询问这个问题,他也告诉我与更改工作区无关,从而在代码中产生一些问题。
【问题讨论】:
标签: liferay-6