Leif Hanack wrote:
>>>i think the loss of using interfaces is a big disadvantage. on the
>>>serverside it will not be clear, why i have a class User with getter
>>>and setter and a User2 with just setter.
>>
>>I disagree. I believe it's a huge advantage. It means that I don't have to
>>code server-side objects specifically for use with JSTL, and I
>>don't have to
>>retrofit existing objects just to make them available to my JSTL page
>>authors.
> 
> 
> mmh?! in case i want the webdeveloper access only getters of my object, i
> need to write a wrapper object on the server side, as shawn bayern mention!
> so i have to write specific object for use with jstl:-((

But an interface doesn't protect your data at all, not even when you
use plain old JSP, <jsp:useBean> and scriptlets:

   <%-- Create a scripting variable for my app data: a class of
        type MyData (with getters and setters), declaring it as
        an instance of the MyReadOnlyInterface (with only getters) --%>
   <jsp:useBean id="myData" class="myapp.MyReadOnlyInterface" />
   <%-- Use it as intended -->
   <%= myData.getFoo() %>
   <%-- Bypass the interface to use it in an illegal way by casting
        to the real class --%>
   <% ((MyData) myData).setFoo("Got ya!"); %>

An interface offers no protection. If you want to protect the data
from being modified, you must use other means: do not provide setter
methods, make the setter methods private, use a wrapper with no
setters, etc.

Hans
-- 
Hans Bergsten           [EMAIL PROTECTED]
Gefion Software         http://www.gefionsoftware.com
JavaServer Pages        http://TheJSPBook.com


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

Reply via email to