DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23104>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23104

ConditionalForwardAction





------- Additional Comments From [EMAIL PROTECTED]  2003-09-11 15:12 -------
A new ActionConfig might be overkill.  You can define a default ActionMapping type in 
the  'type' 
attribute of the 'action-mappings' element, or you can just specify your custom 
ActionMapping 
type on a per-mapping basis using the 'className' attribute of 'action'-- that's not 
really asking 
too much of someone who's already got to learn your sophisticated conditional 
configuration 
model.

I think your original syntax was a lot nicer than the XML in your latest posting.  The 
last thing you 
want to do is invent yet another XML grammar for programming conditional logic!  

You could write a custom ActionMapping with a mapped property "condition".  Then you 
could just 
have 

<action path="/search/national/page"
        type="com.sa.go.web.struts.ConditionalForwardAction"
        className="com.sa.go.web.struts.ConditionalForwardActionMapping"
     unknown="false">
    <set-property  property="condition(el:${empty 
sessionScope.buyandsave_advancedSearchResults})" value="search" />
    <set-property  property="condition(el:${...})" value="..." />
    <set-property  property="defaultMapping" value="paging" />
  <forward name="search" path="/search" redirect="true" />
  <forward name="paging" path="stad.buyandsave.nationalSearchResults" />
</action>

I'm not entirely sure if PropertyUtils would be fussy about a complicated value inside 
the 
parentheses, but I'm pretty sure it's just treated as string literal.  Internally, use 
a 
SequencedHashMap to store the conditions and you can enforce the order of evaluation.

Whoops; I really should be meeting my deadline!  :-)

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

Reply via email to