JSP-Templates für Publikationen und Projekte mit der CustomizableObjectList
git-svn-id: https://svn.libreccm.org/ccm/trunk@815 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
439e2d7630
commit
3f6e7f6f5e
|
|
@ -1,53 +1,66 @@
|
|||
<jsp:root
|
||||
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||
version="1.2">
|
||||
xmlns:jsp="http://java.sun.com/JSP/Page"
|
||||
xmlns:define="/WEB-INF/bebop-define.tld"
|
||||
xmlns:show="/WEB-INF/bebop-show.tld"
|
||||
version="1.2">
|
||||
|
||||
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
||||
<jsp:directive.page import="com.arsdigita.dispatcher.DispatcherHelper"/>
|
||||
<jsp:directive.page import="com.arsdigita.bebop.parameters.BigDecimalParameter"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.ui.object.CustomizableObjectList"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.ui.object.CompareFilter"/>
|
||||
|
||||
<jsp:scriptlet>
|
||||
<jsp:scriptlet>
|
||||
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||
if (age == 0) {
|
||||
DispatcherHelper.cacheDisable(response);
|
||||
} else {
|
||||
DispatcherHelper.cacheForWorld(response, (int)age);
|
||||
}
|
||||
</jsp:scriptlet>
|
||||
|
||||
<define:page name="defaultItemPage" application="navigation"
|
||||
title="Navigation" cache="true">
|
||||
|
||||
<define:component name="greetingItem"
|
||||
classname="com.arsdigita.london.navigation.ui.GreetingItem"/>
|
||||
<define:component name="categoryPath"
|
||||
classname="com.arsdigita.london.navigation.ui.category.Path"/>
|
||||
<define:component name="categoryMenu"
|
||||
classname="com.arsdigita.london.navigation.ui.category.Menu"/>
|
||||
<define:component name="itemList"
|
||||
classname="com.arsdigita.london.navigation.ui.object.SimpleObjectList"/>
|
||||
<jsp:scriptlet>
|
||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
|
||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
|
||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage");
|
||||
|
||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false);
|
||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("title");
|
||||
|
||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(20);
|
||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setSpecializeObjects(true);
|
||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setSpecializeObjectsContext("sciProjectList");
|
||||
</jsp:scriptlet>
|
||||
|
||||
<define:component name="assignedTerms"
|
||||
classname="com.arsdigita.london.navigation.ui.CategoryIndexAssignedTerms"/>
|
||||
<define:page name="defaultItemPage" application="navigation"
|
||||
title="Navigation" cache="false">
|
||||
<define:component name="greetingItem"
|
||||
classname="com.arsdigita.london.navigation.ui.GreetingItem"/>
|
||||
<define:component name="categoryPath"
|
||||
classname="com.arsdigita.london.navigation.ui.category.Path"/>
|
||||
<define:component name="categoryMenu"
|
||||
classname="com.arsdigita.london.navigation.ui.category.Menu"/>
|
||||
<define:component name="itemList"
|
||||
classname="com.arsdigita.london.navigation.ui.object.CustomizableObjectList"/>
|
||||
|
||||
</define:page>
|
||||
<show:all/>
|
||||
<jsp:scriptlet>
|
||||
CustomizableObjectList objList = (CustomizableObjectList) itemList;
|
||||
objList.setDefinition(new CMSDataCollectionDefinition());
|
||||
objList.setRenderer(new CMSDataCollectionRenderer());
|
||||
objList.setCustomName("SciProjectList");
|
||||
objList.getDefinition().setObjectType("com.arsdigita.cms.contenttypes.SciProject");
|
||||
objList.getDefinition().setDescendCategories(false);
|
||||
objList.addTextFilter("title", "title");
|
||||
|
||||
java.util.GregorianCalendar now = new java.util.GregorianCalendar();
|
||||
String today = String.format("%d-%02d-%02d", now.get(java.util.GregorianCalendar.YEAR),
|
||||
now.get(java.util.GregorianCalendar.MONTH) + 1,
|
||||
now.get(java.util.GregorianCalendar.DATE));
|
||||
|
||||
objList.addCompareFilter("projectend", "projectstatus", true, true, false)
|
||||
.addOption("ongoing", CompareFilter.Operators.GTEQ, today)
|
||||
.addOption("finished", CompareFilter.Operators.LT, today);
|
||||
objList.addSortField("title", "title asc");
|
||||
objList.getDefinition().addOrder(objList.getOrder(request.getParameter("sort")));
|
||||
|
||||
objList.getRenderer().setPageSize(20);
|
||||
objList.getRenderer().setSpecializeObjects(true);
|
||||
|
||||
</jsp:scriptlet>
|
||||
|
||||
<define:component name="assignedTerms"
|
||||
classname="com.arsdigita.london.navigation.ui.CategoryIndexAssignedTerms"/>
|
||||
|
||||
</define:page>
|
||||
<show:all/>
|
||||
|
||||
</jsp:root>
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
||||
<jsp:directive.page import="org.apache.log4j.Logger"/>
|
||||
<jsp:directive.page import="com.arsdigita.london.navigation.ui.object.CustomizableObjectList"/>
|
||||
|
||||
<jsp:scriptlet>
|
||||
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||
|
|
@ -22,7 +22,6 @@
|
|||
|
||||
<define:page name="defaultItemPage" application="navigation"
|
||||
title="Navigation" cache="false">
|
||||
|
||||
<define:component name="greetingItem"
|
||||
classname="com.arsdigita.london.navigation.ui.GreetingItem"/>
|
||||
<define:component name="categoryPath"
|
||||
|
|
@ -30,52 +29,33 @@
|
|||
<define:component name="categoryMenu"
|
||||
classname="com.arsdigita.london.navigation.ui.category.Menu"/>
|
||||
<define:component name="itemList"
|
||||
classname="com.arsdigita.london.navigation.ui.object.ComplexObjectList"/>
|
||||
<jsp:scriptlet>
|
||||
classname="com.arsdigita.london.navigation.ui.object.CustomizableObjectList"/>
|
||||
|
||||
org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger("SciPublicationListJsp");
|
||||
<jsp:scriptlet>
|
||||
CustomizableObjectList objList = (CustomizableObjectList) itemList;
|
||||
objList.setDefinition(new CMSDataCollectionDefinition());
|
||||
objList.setRenderer(new CMSDataCollectionRenderer());
|
||||
objList.setCustomName("SciPublicationsList");
|
||||
objList.getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Publication");
|
||||
objList.getDefinition().setDescendCategories(false);
|
||||
objList.addTextFilter("title", "title");
|
||||
objList.addTextFilter("authors.surname", "author");
|
||||
objList.addSelectFilter("yearOfPublication", "yearOfPublication", true, true, true, true);
|
||||
objList.addSortField("title", "title asc");
|
||||
objList.addSortField("yearAsc", "yearOfPublication asc");
|
||||
objList.addSortField("yearDesc", "yearOfPublication desc");
|
||||
objList.addSortField("authors", "authors.surname asc, authors.givenname asc");
|
||||
objList.getDefinition().addOrder(objList.getOrder(request.getParameter("sort")));
|
||||
|
||||
application.log("JSP::Configuring object list...");
|
||||
logger.warn("JSP::Configuring object list...");
|
||||
objList.getRenderer().setPageSize(20);
|
||||
objList.getRenderer().setSpecializeObjects(true);
|
||||
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Publication");
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).setCustomName("SciPublicationsList");
|
||||
</jsp:scriptlet>
|
||||
|
||||
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().setDescendCategories(false);
|
||||
logger.warn(String.format("JSP::orderBy = %s", request.getParameter("orderBy")));
|
||||
if((request.getParameter("orderBy") == null)) {
|
||||
logger.warn("JSP::Setting list order to 'title'...");
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("title");
|
||||
} else {
|
||||
if("title".equals(request.getParameter("orderBy"))) {
|
||||
logger.warn("JSP::Setting list order to 'title'...");
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("title");
|
||||
} else if("authors".equals(request.getParameter("orderBy"))) {
|
||||
logger.warn("JSP::Setting list order to 'authors'...");
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("authors asc");
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("authors.givenname asc");
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("authors.link.editor asc");
|
||||
} else if("year".equals(request.getParameter("orderBy"))) {
|
||||
logger.warn("JSP::Setting list order to 'yearOfPublication'...");
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("yearOfPublication asc");
|
||||
} else {
|
||||
logger.warn("JSP::Unknown value for order, setting list order to 'title'...");
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("title");
|
||||
}
|
||||
}
|
||||
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getRenderer().setPageSize(20);
|
||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getRenderer().setSpecializeObjects(true);
|
||||
</jsp:scriptlet>
|
||||
|
||||
<define:component name="assignedTerms"
|
||||
classname="com.arsdigita.london.navigation.ui.CategoryIndexAssignedTerms"/>
|
||||
<define:component name="assignedTerms"
|
||||
classname="com.arsdigita.london.navigation.ui.CategoryIndexAssignedTerms"/>
|
||||
|
||||
</define:page>
|
||||
<show:all/>
|
||||
|
||||
|
||||
</jsp:root>
|
||||
Loading…
Reference in New Issue