0

我正在开发一个显示 JA 标题并将其 ID 作为值的选择。

<aui:select label="<%= segment %>" name="<%= segment %>" multiple="true">
        <%
        for (int j = 0; j < articles.size(); j++) {
            String title = articles.get(j).getTitle();
            String idTitle = articles.get(j).getArticleId();
            System.out.println("id : " + idTitle);
        %>
            <aui:option value="<%= idTitle %>">
                <liferay-ui:message key="<%= title %>" />
            </aui:option>
        <%
        }
        %> 
</aui:select>

事实是,我将选定的 JA Id 保存在 portlet 首选项中(当我处理操作时),现在我想借助该 Id 获取该 JA 的标题,init.jsp以显示选定的 JA:

long groupId = themeDisplay.getScopeGroupId();
String jaId = contents[j];
            JournalArticle art = JournalArticleLocalServiceUtil.getArticle(groupId, jaId);

            System.out.println("JA : " + art);
            rule += " idContent : " + contents[j] + " with title : " + art.getTitle();

变量内容是收集的 JA id 的集合:

<%
        for (int j = 0; j < articles.size(); j++) {
            String title = articles.get(j).getTitle();
            String idTitle = articles.get(j).getArticleId();

这是一个String[]s idTitle

这里的问题是art.getTitle返回null。这怎么可能?

4

2 回答 2

1

T尝试存储文章的primaryKey并通过以下方式获取它:

JournalArticle art = JournalArticleLocalServiceUtil.getArticle(long primaryKey);
于 2013-07-10T08:20:26.473 回答
1

我的第二个问题的答案是:

为了解决解析问题,如果你使用的是LR6.1.X,那么你必须使用locale作为标题,并在使用locale的基础上以xml的形式保存内容,

LocaleUtil.getDefault();

谢谢大家!

于 2013-07-10T14:44:38.443 回答