Date Time Parameter Converter
mongkeh Aug 30, 2009 12:39 PMHello,
I am having problem to convert date time parameter.
The date parameter from the component bean is :
Sun Aug 30 00:00:00 ICT 2009
I want convert to:
Aug 30, 2009
So, i declared converter in faces-config.xml:
<converter> <converter-id>dateTimeConverter</converter-id> <converter-class>org.jboss.seam.ui.converter.DateTimeConverter</converter-class> <property> <property-name>pattern</property-name> <property-class>java.lang.String</property-class> <suggested-value>MMM dd, yyyy</suggested-value> </property> </converter>
and then in AutomotiveReport.page.xml:
<?xml version="1.0" encoding="UTF-8"?>
<page xmlns="http://jboss.com/products/seam/pages"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.1.xsd">
<navigation from-action="#{automotiveReport.automotiveReport}">
<redirect include-page-params="true" view-id="/AutomotiveReports.xhtml"/>
</navigation>
<param converterId="dateTimeConverter" name="date" value="#{automotiveReport.date}"/>
</page>But when i run, the converter dateTimeConverter never called. The parameter i got:
http://localhost:8080/appl/run?__report=%2Freport%2Fautomotive.rptdesign&__format=pdf&__title=Automotive+Reports&date=Sun+Aug+30+00%3A00%3A00+ICT+2009&cid=13
I hope the parameter like this:
http://localhost:8080/appl/run?__report=%2Freport%2Fautomotive.rptdesign&__format=pdf&__title=Automotive+Reports&date=Aug 30, 2009&cid=13
AutomotiveReport.xhtml
<rich:calendar id="date"
value="#{automotiveReport.date}"
required="true"
datePattern="MMM dd, yyyy"/>
<div class="actionButtons">
<h:commandButton id="automotiveReport" value="automotiveReport"
action="#{automotiveReport.automotiveReport}"/>
</div>AutomotiveReport.java (component):
@Stateful
@Name("automotiveReport")
@Scope(ScopeType.CONVERSATION)
public class AutomotiveReportBean implements AutomotiveReport {
@Logger private Log log;
@In StatusMessages statusMessages;
private Date date;
public void automotiveReport()
{
// implement your business logic here
log.info("automotiveReport.automotiveReport() action called with: #{automotiveReport.date}");
statusMessages.add("automotiveReport #{automotiveReport.date}");
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
@Remove
@Destroy
public void destroy() {}
}AutomotiveReports.xhtml:
<p:birt xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:p="http://jboss.com/products/seam/birt"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
designType="run"
format="pdf"
designName="/report/automotive.rptdesign"
title="Automotive Reports">
<p:param name="date" value="#{automotiveReport.date}"/>
</p:birt>Please help me....
Thanks.