Dale Newfield wrote:
I've got a page that uses s:optiontransferselect, and I'm pretty happy
with it, but I'm now trying to scale up this app, and just over 1000
entries and the freemarker template bombs out:
I've got a different solution in mind that should work when this gets large.
freemarker.core.InvalidReferenceException: Error on line 264, column 13
in template/simple/optiontransferselect.ftl
stack.findString(parameters.doubleListValue) is undefined.
It cannot be assigned to doubleItemValue
I just realized that they problem is probably not with freemarker--I bet
this is the right error message, as when the collection gets big I bet
one is being added that is not correctly initialized and the appropriate
field is indeed not there. I think the freemarker core should be
configurable so that it can log the error and move on rather than fail
the way it is. Tomorrow I'll try the latest freemarker, and if
necessary go file a ticket with them (w/patches if they're lucky :-) .
Alternately I might have to alter the struts2 freemarker template to
catch the exception and log it and move on, or failing that in my code I
could call the s:optiontransferselect tag inside a try/catch block and
do it myself. Time will tell.
The actual number is confusing: It works with 1125 total in list2 (with
2 selected and instead in list1), but with 1126 possible values it
crashes. Usually the size at which something breaks is indicative, but
the only thing I can think of is 1126 -2 (selected) = 1024 + 100 ?
I confirmed the way this is working, and yes, the magic number is it
breaks at 1124. I've got two possibilities: Either HashSet is failing
in some way, or more likely the lazy loaded hibernate collection used to
fill that HashSet is doing something wonky when it gets that big. I'd
bet the latter.
-Dale
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]