概述:尝试将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
之类的东西来形成网址吗?在这种情况下如何实现。请帮助。