Just a question which came into my mind by reading at this email. It has
been said that JSPs allow separation of roles between the web and the
business developers so that, ideally, the former should work independently
by the latter. Then, because prior to Struts-el :) some java code was
mungled within the JSP code, then Struts-el came out. I am wondering whether
an <sql:update> element as the one below, would actually separate the
front-end developer by the business developer. At the end, hasn't Struts
been invented to exhibit an handful MVC framework for web applications?

Regards,

Marco
----- Original Message ----- 
From: "Rick Ross" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Sunday, August 17, 2003 7:11 AM
Subject: <sql:param> null weirdness


I wonder if I am not understanding EL properly...

I have a form

<form>
    ....
    <input type="text" name="time" />
    <input type="submit" name="submit" />
</form>

and then a nice sql update to catch the form

<sql:update>
    INSERT INTO myTable VALUES ( ? )
    <sql:param value="${param.time}" />
</sql:update>

The problem comes when the form parameter is empty.  Since the actual
database field is a mySQL TIME field, there is a very big difference between
an empty string and a null.  Empty strings will be converted into '00:00:00'
in the database but nulls will just stay null (nulls are allowed and no
defaults are specified).

The sql:param tag will never return a null if there is a "time" key in the
params.  Since the form always posts the parameter, I'll always have
'&time=&somethingelse='  in my request.  <sql:param> sees this as an empty
string "", which becomes '00:00:00' in my database.

This however, works:
<sql:param><c:out value="${param.time}" /></sql:param>

I am assuming that this is an intentional thing, but I'm not sure and I'd
like to know why.

Anyone?

Thanks,

R





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

Reply via email to