0
在Web內容設置我結構有一個應用領域:「文檔的媒體」。的Liferay:怎麼到網絡內容的文件的相對路徑和媒體
通過此字段用戶可以添加各種文件,然後顯示在我的.xhtml中。
用戶可以將此「文檔和媒體」字段可重複添加更多文件。
我怎麼能遍歷所有添加的文件並獲得他們的相對路徑。
如果我的文檔和媒體領域是不可重複的,我可以得到這樣的相對路徑:
public String getWebContentTitle(String title, String nodeName) throws PortalException, SystemException {
FacesContext context = FacesContext.getCurrentInstance();
ThemeDisplay themeDisplay = (ThemeDisplay) context.getExternalContext().getRequestMap().get(WebKeys.THEME_DISPLAY);
long groupId = themeDisplay.getScopeGroupId();
JournalArticle article = JournalArticleLocalServiceUtil.getArticleByUrlTitle(groupId, formatUrlTitle(title));
String languageKey = context.getExternalContext().getRequestLocale().toString();
JournalArticleDisplay articleDisplay = JournalContentUtil.getDisplay(groupId, article.getArticleId(), article.getTemplateId(), languageKey, themeDisplay);
JournalArticle journalArticle = JournalArticleLocalServiceUtil.getArticle(groupId, article.getArticleId());
String myContent = journalArticle.getContentByLocale(languageKey);
if (nodeName != null) {
String nodeText=getParseValue(nodeName, journalArticle, myContent);
return nodeText;
} else
{
String ret=articleDisplay.getContent();
return ret;
}
}
private String getParseValue(String fieldname, JournalArticle article, String locale) {
String nodeText = "";
try {
Document document = SAXReaderUtil.read(article.getContentByLocale(locale));
Node node = document.selectSingleNode("/root/dynamic-element[@name='" + fieldname +"']/dynamic-content");
nodeText = node.getText();
} catch(Exception e){
}
return nodeText;
}
這個方法返回相對路徑來我補充說明文件(說horses.pdf)。
我怎麼能得到相對路徑,通過「文檔和媒體領域」增加了更多的文件,這是可重複的,並已定義的特定變量名(說HorsesPdfs?)
任何幫助將不勝感激!
如果我理解正確,你有多個JournalArticle,你想做什麼,獲取文章的所有內容,並找到鏈接的文件? –
是的,我會有很多期刊文章。他們每個人都有一個「文件和媒體」字段。這個字段是可重複的。如何通過可重複的「文檔和媒體」字段遍歷所有添加的文件? – necker
實際上我有很多馬。每個人都有自己的網站和期刊文章。並且在馬的每個站點上可以添加很多pdf文件。 我可以通過上述方法獲取網頁內容,並傳遞正確的「節點名稱」。我的問題是如何獲得可重複的「文檔和媒體」參賽作品的內容/路徑? – necker