无法在Liferay6.2 Struts2 Portlet中调用Struts2操作

时间:2014-09-04 11:24:47

标签: jsp struts2 liferay-6 portlet struts2-jquery

概述:尝试将struts2 webapp移植到Liferay 6.2 Struts2 Portlet中。

问题定义:未调用struts.xml中提到的操作,并且形成的url不是我新创建的portlet的url。 这可以通过以下示例来解释:

jsp Page:

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>

<br>
<s:if test="%{xyz!= null}">
 <br />
  <div style="margin-left:9em;">
   <s:property value="xyz" escapeHtml="false"/>
  </div>
 <br /><br />
</s:if>
<br>

<br />

<sj:tabbedpanel id="billTab" >
    <sj:tab id="overview" href="%{overviewURL}" label="Overview"
            target="overviewDiv" indicator="loadingInd" />
    <sj:tab id="invoices" href="%{invoiceURL}" label="Invoices" 
            target="invoicesDiv" indicator="loadingInd" />
    <div id="overviewDiv" ></div>
    <div id="invoicesDiv" ></div>

</sj:tabbedpanel>

在上面的jsp中,有一个sj:tabbedpanel面板,其中有一个href="%{overviewURL}",这个href形成一个GET请求,如下所示:

abc.com/web/billOverview?billId=37527220&bcrumId=34566&billTo=abc` 

并且不像以下那样使用portletid的portlet请求:

  

abc.com/web/billToCustomer?p_auth=f7WFYwgJ&p_p_auth=DR6ptk9Y&p_p_id=adminportlet_WAR_Portlet10SNAPSHOT&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&_adminportlet_WAR_Portlet10SNAPSHOT_templateDir=template&_adminportlet_WAR_Portlet10SNAPSHOT_theme=simple&_adminportlet_WAR_Portlet10SNAPSHOT_dynamicAttributes=%7B%7D& _adminportlet_WAR_Portlet10SNAPSHOT_id = selectSiteForm&amp; D&amp; _adminportlet_WAR_Portlet10SNAPSHOT_struts.portlet.action =%2Fportal%2FbillOverview&amp; _adminportlet_WAR_Portlet10SNAPSHOT_struts.portlet.mode = view

由于这个原因我的动作“billOverview”在struts.xml中定义没有被调用。我应该使用类似portlet:actionURL之类的东西来形成网址吗?在这种情况下如何实现。请帮助。

0 个答案:

没有答案