Sounds reasonable until you remember two words: type erasure. There is no way to 'glean the generic type' of a collection at runtime.

L.

Gabriel Belingueres wrote:
I agree too.

2008/9/23 stanlick <[EMAIL PROTECTED]>:
I agree totally!  If the TypeDeterminer had called getEmployees() <which it
clearly did for iterator> *and* had bothered to glean the generic type of
the key, it would have recognized the action expected the key to of type
String.  If the data type is specifically spelled out and the framework
decides a type diametrically opposed, this is a problem.:teeth:



Gabriel Belingueres-2 wrote:
AFAIK, OGNL does not have any support for generics, but even if it
would support it, I would prefer that it wont be too smart, for
example in:

<s:property value="aMap[abc].id"/>

I prefer that abc be treated as an action property and call method
getAbc() than coerce it to the string 'abc'.

2008/9/23  <[EMAIL PROTECTED]>:
Those are all good points, but when my collection was expressly declared
to
be a Map<String, Employee> I would sort of expect the key to be a String!
When the framework "guesses" for a different type (feature?) and your
application fails; all the discussion about valid number systems is sort
of
meaningless.

Scott

On Mon, Sep 22, 2008 at 7:53 PM, Gabriel Belingueres
<[EMAIL PROTECTED]>wrote:

I don't know but I hope not, since I don't want my expressions to
reduce to different data types depending if there is a number or not
in them!
Even if abc would reduce to the string 'abc', the expression 0xabc
reduce to an Integer (have tested it), since it is an hexadecimal
number.

2008/9/22  <[EMAIL PROTECTED]>:
I expected the conversion facility or iterator key to be smart enough
to
recognize my Map<String, Employee> and setup the internal key variable
accordingly.  Do you suppose it would have worked if my Map had
contained
'abc':emp1, 'def':emp2, 'ghi':emp3?

Peace,
Scott

On Mon, Sep 22, 2008 at 3:47 PM, Gabriel Belingueres
<[EMAIL PROTECTED]>wrote:

Interesting. Seems it is a feature, as documented in [1].

Tested it myself:
<s:property value="1234h.class.name" />
<s:property value="1234b.class.name" />
<s:property value="1234F.class.name" />
<s:property value="1234L.class.name" />
<s:property value="1234d.class.name" />
<s:property value="(1234).class.name" />

The last one (Integer) didn't work without the ( ), which I don't
know
if this is a necessity or a bug.
What about Short and Byte data type? it doesn't say...

However, I think is NOT a bug that employees[1234F].id returns
nothing, since the map key is a string and you need to quote it
accordingly.

[1]

http://www.ognl.org/2.6.9/Documentation/html/LanguageGuide/basicExpressions.html#constants
2008/9/22 stanlick <[EMAIL PROTECTED]>:
I encountered a very strange situation today.  I had the following
in
a
web
page:


<s:iterator value="employees">
   <s:textfield name="employees[%{key}].id .../>

where the get method in my action was:

public Map<String,Employee> getEmployees()

The employee id 7932F was being interpreted as 7932!  The trailing
"F"
was
apparently being considered a literal for FLOAT and was being
trimmed
off
the String.

When I wrapped the variable in quotes is worked

 <s:textfield name="employees[  '%{key'  }].id .../>

Does this appear to be a bug?


--
View this message in context:
http://www.nabble.com/Custom-tag-and-map-backed-action-tp19614086p19614086.html
Sent from the Struts - User mailing list archive at Nabble.com.



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


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


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


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



--
View this message in context: 
http://www.nabble.com/Custom-tag-and-map-backed-action-tp19614086p19629362.html
Sent from the Struts - User mailing list archive at Nabble.com.


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




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

Reply via email to