簡要概述:我試圖將基於Struts2的webapp移植到Struts2 Liferay portlet中。無法在Struts2的JSP中獲取值Liferay6.2 Portlet
問題定義:即使動作Class方法正確地在我的變量中設置了值,也會將值作爲NULL/Blank取回。 我已經嘗試打印出值,當我的方法返回在Action類和我的jsp中。這些值正確設置,因爲我可以從返回SUCCESS之前放置的記錄器中看到它,但在jsp中,我可以看到所有需要的設置變量都是空白的!
代碼片段:
在JSP代碼取爲以下值: 例如
<br>
<s:if test="%{xyz!= null}">
<br />
<div style="margin-left:9em;">
<s:property value="xyz" escapeHtml="false"/> //never displayed as xyz is NULL
</div>
<br /><br />
</s:if>
<br>
上打印出的xyz:<s:text name="%{xyz}"/>
,我得到空值,這種情況對於所有需要值在jsp中。
我已經嘗試了選項:
我已經嘗試使用:%{#xyz}
,%{xyz}
,但並沒有幫助。
struts.xml的
<action name="selectSite" class="com.abc.xyz.LandingPageAction"
method="selectSite">
<interceptor-ref name="abAjaxCallInterceptorStack" />
<result name="success" >/WEB-INF/jsp/portal/LandingContent.jsp</result>
</action>
的Liferay-portlet.xml中:
<liferay-portlet-app>
<portlet>
<portlet-name>xyz-portlet</portlet-name>
<icon>/icon.png</icon>
<private-session-attributes>false</private-session-attributes>
<requires-namespaced-parameters>false</requires-namespaced-parameters>
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
<add-default-resource>true</add-default-resource>
</portlet>
</liferay-portlet-app>
jsp頁面:
<%@ 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>
爲什麼這段代碼不工作?沒有工作的代碼不可用。 – 2014-09-02 10:12:07
這些值不會被提取,但是在我的ActionClass方法中設置了所需的變量,該方法返回SUCCESS。所有期望從變量%{abc}中獲得值的地方都將變爲空白。 – TechieTalk 2014-09-02 10:15:39
修改了原始帖子,如果有幫助的話。%{overviewURL},%{invoiceURL}被提取爲空白 – TechieTalk 2014-09-02 10:37:02