Hi all,
I'm using Struts 2.0.14.

I'm experiencing the following problem:
I tried to use datetimepicker in sample application and it worked fine
except that the java.util.Date property does not retrieve the new
value selected in the interface.
I don't have more time today to check this out and will continue
trying to fix it tomorrow.
What's more weird if i have getter for a String property with the same
name I'll get the text that's in the edit box rendered from
<s:datetimepicker />

Here are some snippets from my test application:

struts.xml
-------------------------------
    <package name="test" namespace="/" extends="struts-default">
         .........
        <action name="blah_*" class="test.Test" method="{1}">
                <result type="tiles">tiles_test</result>
        </action>


the JSP
-------------------
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:head theme="ajax"/>
<div>
        <h2> User Details changed </h2>
        <s:form action="blah_fetchDate">
                <s:textfield name="someText"/>
                <s:datetimepicker name="aDate" dayWidth="narrow" 
weekStartsOn="1" />
                <s:submit>Submit Date</s:submit>
        </s:form>
</div>


the Action (implements RequestAware)
----------------------
        private Date aDate = new Date()

        public String fetchDate() {
                OgnlValueStack valueStack = (OgnlValueStack)
this.request.get("struts.valueStack");
                log.info("--------- this.aDate: " + this.aDate.toString());
                log.info("--------- vs: aDate: " 
+valueStack.findString("aDate"));
                log.info("--------- vs: dojo.aDate: " 
+valueStack.findString("dojo.aDate"));
                return Action.SUCCESS;
        }

        public Date getADate() {
                return aDate;
        }
        public void setADate(Date date) {
                log.info("------------ Date set to: " + date.toString());
                aDate = date;
        }
        
        public void setADate(String s) {
                log.info("------------ this one is called :" + s);
        }

console output
--------------------------------------------------
17:37:24,644 INFO  [Test] ------------ this one is called :12/3/08
17:37:24,644 INFO  [Test] --------- this.aDate: Tue Dec 02 17:37:24 EET 2008
17:37:24,644 INFO  [Test] --------- vs: aDate: 12/2/08
17:37:24,644 INFO  [Test] --------- vs: dojo.aDate: null

as you can see setADate(Date date) never get's called.

I've checked the request made from the browser (using FF with FireBug)
and the post parameters were fine "aDate" and "dojo.aDate" where both
set to the correct value 12/3/08

I appreciate greatly your help.
Regards.

-- 
===============
Dimitar Vlasev

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to