我想使用搜索的portlet获取搜索的关键字。我在url中看到:"struts_action=/search/seach“,然后我在strut-config.xml中查找并找到:
action path="/search/search" forward="portlet.search.search" 我正在尝试做一个struts,但是我对struts不是很了解,它不能工作。这是‘liferay hook.xml’的代码:
<portal-properties>portal.properties</portal-properties>
<struts-action>
<struts-action-path>/search/search</struts-action-path>
<struts-action-impl>com.segmentationProject.searchAction.struts.SearchAction</struts-action-impl>
</struts-action>搜索:auth.public.path=/portal.properties/search
SearchAction.java:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.liferay.portal.kernel.struts.BaseStrutsAction;
public class SearchAction extends BaseStrutsPortletAction {
@Override
public void processAction(StrutsPortletAction originalStrutsPortletAction, PortletConfig portletConfig, ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {
System.out.println("inside the process ");
super.processAction(originalStrutsPortletAction, portletConfig, actionRequest, actionResponse);
}
@Override
public String render(StrutsPortletAction originalStrutsPortletAction,PortletConfig portletConfig, RenderRequest renderRequest, RenderResponse renderResponse) throws Exception {
// TODO Auto-generated method stub
System.out.println("inside the render");
return super.render(portletConfig, renderRequest, renderResponse);
}
}你知道我失踪了还是做错了吗?我只想获取关键字,然后正常地进行搜索。谢谢!
发布于 2013-10-07 23:29:43
我认为这个将会完成这项工作:
String keywords = ParamUtil.getString(actionRequest, "keywords");ParamUtil使用portlet命名空间来检索参数。
发布于 2017-05-15 20:38:16
我认为你必须使用originalStrutsPortletAction而不是super。
super.processAction(originalStrutsPortletAction, portletConfig, actionRequest, actionResponse);
}只需用originalStrutsPortletAction替换super即可
originalStrutsPortletAction .processAction(originalStrutsPortletAction, portletConfig, actionRequest, actionResponse);
}https://stackoverflow.com/questions/19180331
复制相似问题