我刚才在jsp文件中使用wcm库并且有点卡住了。我在创作模板中使用了一个新元素(“Publication Date”)和一个自定义jsp组件,我从原子调用中引用它来生成“更新日期”字段。我试图做的只是检查我添加的元素是否存在不是null,如果它然后使用更新的日期字段,如果它不是那么使用“Publication Date”元素。
我试过了:
DocumentIdIterator docIdsIter = workspace.findContentByPath(request.getRequestURI());
if (docIdsIter.hasNext()) {
Document doc = (Document)workspace.getById(docIdsIter.nextId());
// Cast to Content to retrieve the Publication date from the date component
Content myContent = (Content)doc;
// Get the Publication date
if (myContent.hasComponent("Publication Date")){
out.write("I am getting here");
DateComponent dateComponent = (DateComponent)myContent.getComponent("Publication Date");
if (dateComponent != null){
out.write(dateComponent.toString());
} else {
//out.write(last modified date);
}
} else {
//out.write(last modified date);
}
但我甚至没有进入第一个if条件。我觉得有一个简单的方法可以简单地检查元素是否存在,任何帮助都会被激活。
答案 0 :(得分:1)
您可以使用[Property]标签从内容项中提取日期。
[Property context="autofill" type="content" format="DATE_TIME_SHORT" field="lastmodifieddate"]
可能类似于您正在寻找的东西。
有很多不同的选项可用于格式和字段以获得所需的日期。
格式= “DATE_SHORT”
格式= “DATE_MEDIUM”
格式= “DATE_LONG”
格式= “DATE_FULL”
格式= “DATE_TIME_SHORT”
格式= “DATE_TIME_MEDIUM”
格式= “DATE_TIME_LONG”
格式= “DATE_TIME_FULL”
格式= “TIME_SHORT”
格式= “TIME_MEDIUM”
格式= “TIME_LONG”
格式= “TIME_FULL”
lastmodified - 显示上次修改日期和最后一次更改消息
lastmodifieddate - 显示上次修改日期。
creation - 显示创建日期。
creationdate - 显示创建日期
lastmodifier - 显示上次修改项目的用户的名称。
creator - 显示创建项目的用户的名称。