You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Néstor Boscán <ne...@tcs.com.ve> on 2005/04/09 08:57:03 UTC

How to create a web flow with Struts

Hi
 
I have a new project were I have to create an application that is a web flow
of multiple standalone applications. Basically the user picks a service and
the web flow will take the user to all the applications necessary to fulfill
the service. We want to be able to save in a database the user navigation
information. Has anybody done something like this with struts?
 
Regards,
 
Néstor Boscán

Re: How to create a web flow with Struts

Posted by Duong BaTien <du...@gmail.com>.
Matt Raible wrote:

> Dakota Jack wrote:
>
>> I will answer your question after clarifying BaTien's failure to
>> respond to your question and his shameless promotion of another
>> product through subterfuge.  He is creating confusion.  That is the
>> whole point of Struts-Shale.
>>
>> Please be forewarned that Struts-Shale is not Struts.  Struts-Shale is
>> an entirely different product, something like an incipient version of
>> Tapestry, which has nothing in common with Struts except it too is a
>> framework.  BaTien is not being completely fair or honest with you in
>> his response.  He is, in effect, trying to get you to seek a solution
>> that has nothing to do with your initial inquiry, in order to promote
>> his love for JSF, which is antithetical to Struts as we know it.
>>
>> The "we" BaTien talks about, in my opinion, is a small group of
>> zealots trying to save a fairly old framework idea, JSF, from the
>> trash heap.
>>
>> Now -- YOUR QUESTION.
>>  
>>
>
> While you may be correct in BaTien's intentions, he does mention a 
> worthwhile project: Spring Web Flow.  This is a web flow (wizard) 
> framework that was developed on top of Struts initially and can very 
> much be used with Struts.
> http://forum.springframework.org/viewtopic.php?t=4604
>
> There is a sample application (BirthDate) in Spring's CVS and it will 
> be a part of a PR2 release on Sunday night.  I plan on looking at 
> Spring Web Flow this weekend and integrating into a Struts project 
> next week.
>
> Matt
>
Matt:

I am interested in your evaluation of Spring Web Flow and your progress 
in this area. :-) Please share you experience.

BaTien
DBGROUPS

>> I would need some clarification of your question to answer it.  What
>> do you mean by "the web flow will take the user to all the
>> applications necessary to fulfill
>> the service"?  User navigation information is very easy to save to a 
>> database. 
>> Jack
>>
>>
>>
>> On Apr 9, 2005 8:43 AM, Duong BaTien <du...@gmail.com> wrote:
>>  
>>
>>> Néstor Boscán wrote:
>>>
>>>   
>>>
>>>> Hi
>>>>
>>>> I have a new project were I have to create an application that is a 
>>>> web flow
>>>> of multiple standalone applications. Basically the user picks a 
>>>> service and
>>>> the web flow will take the user to all the applications necessary 
>>>> to fulfill
>>>> the service. We want to be able to save in a database the user 
>>>> navigation
>>>> information. Has anybody done something like this with struts?
>>>>
>>>> Regards,
>>>>
>>>> Néstor Boscán
>>>>
>>>>
>>>>
>>>>     
>>>
>>> I have not done this. But this is the direction we are heading to.
>>> Craig, the inventor of Struts Commons-Chain and Struts-Shale, has
>>> proposed a DialogController and is trying to incorporate features of
>>> Spring Web Flow.
>>>
>>> I found it is very useful as a state engine. You may take a look at
>>> Struts-Shale. I am also interest to what you are doing in this area.
>>>
>>> BaTien
>>> DBGROUPS
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: user-help@struts.apache.org
>>>
>>>
>>>   
>>
>>
>>
>>  
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Jasper problem

Posted by Wiebe de Jong <wi...@shaw.ca>.
I've been struggling with a problem for two days and I am hoping somebody
here might have an idea.

I am using Struts 1.1 with tiles and have a long JSP with about 30 form
fields, some with option lists which are stored at the application level.

Everything is working fine, then I make one change. I go from:

<html:text property="resellerID" size="25" styleClass="form"/>

to

<logic:equal property="resellerID" value="0">
<html:text property="resellerID" size="25" styleClass="form"/>
</logic:equal>
<logic:notEqual property="resellerID" value="0">
<bean:write name="trialDownloadForm" property="resellerID"/>
</logic:notEqual>

Now all of a sudden I get this error in a totally unrelated area:

...
<option value="AZ">Azerbaijan</option>
<option value="BH">Bahrain</option>
<option value="BD">Bangladesh</option>
<option value="BI">Burundi</option>
<option value="BE">Belgium</option>
<[ServletException in:/tiles/trial_download_body.jsp] No selector attribute
(cookie/header/name/parameter) was specified'
...

Note how the options list is cut off right in the middle. 

Is this a Jasper problem? How can I fix it?

Wiebe



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to create a web flow with Struts

Posted by Joe Germuska <Jo...@Germuska.com>.
>There is a sample application (BirthDate) in Spring's CVS and it 
>will be a part of a PR2 release on Sunday night.  I plan on looking 
>at Spring Web Flow this weekend and integrating into a Struts 
>project next week.

I'm working on integrating Spring Web Flow into a Struts application 
these days.  There's a lot attractive about Spring Web Flow, but 
realize that it's still new and there is a lot which is not 
manifestly clear in the documentation; also, at my first 
investigations, it seems like the course of least resistance is to 
use more Spring-like methods for handling request parameters and 
validation, which means a higher learning curve.  Probably it would 
be possible to have the web flow "accept" a Struts ActionForm already 
populated and validated, but since you would have only a single 
action mapping for each state of the flow (and likely for each flow 
in your app), it might be more challenging.

Still, if Struts users are implementing Spring Web Flow, I'll be 
happy to ask and answer (if I can) questions here.   My first email 
to the Spring user list was manifestly ignored, so maybe I'll do 
better here ;-)

Joe

-- 
Joe Germuska            
Joe@Germuska.com  
http://blog.germuska.com    
"Narrow minds are weapons made for mass destruction"  -The Ex

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to create a web flow with Struts

Posted by Matt Raible <li...@raibledesigns.com>.
Dakota Jack wrote:

>I will answer your question after clarifying BaTien's failure to
>respond to your question and his shameless promotion of another
>product through subterfuge.  He is creating confusion.  That is the
>whole point of Struts-Shale.
>
>Please be forewarned that Struts-Shale is not Struts.  Struts-Shale is
>an entirely different product, something like an incipient version of
>Tapestry, which has nothing in common with Struts except it too is a
>framework.  BaTien is not being completely fair or honest with you in
>his response.  He is, in effect, trying to get you to seek a solution
>that has nothing to do with your initial inquiry, in order to promote
>his love for JSF, which is antithetical to Struts as we know it.
>
>The "we" BaTien talks about, in my opinion, is a small group of
>zealots trying to save a fairly old framework idea, JSF, from the
>trash heap.
>
>Now -- YOUR QUESTION.
>  
>

While you may be correct in BaTien's intentions, he does mention a 
worthwhile project: Spring Web Flow.  This is a web flow (wizard) 
framework that was developed on top of Struts initially and can very 
much be used with Struts. 

http://forum.springframework.org/viewtopic.php?t=4604

There is a sample application (BirthDate) in Spring's CVS and it will be 
a part of a PR2 release on Sunday night.  I plan on looking at Spring 
Web Flow this weekend and integrating into a Struts project next week.

Matt

>I would need some clarification of your question to answer it.  What
>do you mean by "the web flow will take the user to all the
>applications necessary to fulfill
>the service"?  User navigation information is very easy to save to a database.  
>
>Jack
>
>
>
>On Apr 9, 2005 8:43 AM, Duong BaTien <du...@gmail.com> wrote:
>  
>
>>Néstor Boscán wrote:
>>
>>    
>>
>>>Hi
>>>
>>>I have a new project were I have to create an application that is a web flow
>>>of multiple standalone applications. Basically the user picks a service and
>>>the web flow will take the user to all the applications necessary to fulfill
>>>the service. We want to be able to save in a database the user navigation
>>>information. Has anybody done something like this with struts?
>>>
>>>Regards,
>>>
>>>Néstor Boscán
>>>
>>>
>>>
>>>      
>>>
>>I have not done this. But this is the direction we are heading to.
>>Craig, the inventor of Struts Commons-Chain and Struts-Shale, has
>>proposed a DialogController and is trying to incorporate features of
>>Spring Web Flow.
>>
>>I found it is very useful as a state engine. You may take a look at
>>Struts-Shale. I am also interest to what you are doing in this area.
>>
>>BaTien
>>DBGROUPS
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>For additional commands, e-mail: user-help@struts.apache.org
>>
>>
>>    
>>
>
>
>  
>



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Use of tokens

Posted by Phil Steitz <ph...@gmail.com>.
It's a toy example, but the mailreader sample application included in
the struts distribution demonstrates the use of tokens.

Phil

On Apr 9, 2005 5:22 PM, Brad Balmer <bb...@peapod.com> wrote:
> Do people use tokens to disable multiple requests?  I have pages that use
> images to submit forms, thus I cannot use javascript to disable the submit
> on multiple clicks.  I was reading about tokens but couldn't find a full
> example except the three functions to call.
> 
> If you can use tokens to disable multiple submits, does anybody have a full
> working example of how to use them?
> 
> Thanks.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Use of tokens

Posted by Erik Weber <er...@mindspring.com>.
Yes, tokens are used to prevent duplicate submits of a single form.

These are the four methods your Action inherits from 
org.apache.struts.action.Action:


   protected String generateToken(HttpServletRequest request) {
        return token.generateToken(request);
    }

    protected boolean isTokenValid(HttpServletRequest request) {
        return token.isTokenValid(request, false);
    }

    protected void resetToken(HttpServletRequest request) {
        token.resetToken(request);
    }

    protected void saveToken(HttpServletRequest request) {
        token.saveToken(request);
    }

token is a singleton instance of org.apache.struts.util.TokenProcessor. 
As you can see, these methods are just wrappers.

Here are the TokenProcessor implementations:

    public synchronized String generateToken(HttpServletRequest request) {

        HttpSession session = request.getSession();
        try {
            byte id[] = session.getId().getBytes();
            long current = System.currentTimeMillis();
            if (current == previous) {
                current++;
            }
            previous = current;
            byte now[] = new Long(current).toString().getBytes();
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(id);
            md.update(now);
            return toHex(md.digest());
        } catch (NoSuchAlgorithmException e) {
            return null;
        }

    }

    public synchronized boolean isTokenValid(
        HttpServletRequest request,
        boolean reset) {

        // Retrieve the current session for this request
        HttpSession session = request.getSession(false);
        if (session == null) {
            return false;
        }

        // Retrieve the transaction token from this session, and
        // reset it if requested
        String saved = (String) 
session.getAttribute(Globals.TRANSACTION_TOKEN_KEY);
        if (saved == null) {
            return false;
        }

        if (reset) {
            this.resetToken(request);
        }

        // Retrieve the transaction token included in this request
        String token = request.getParameter(Constants.TOKEN_KEY);
        if (token == null) {
            return false;
        }

        return saved.equals(token);
    }

    public synchronized void resetToken(HttpServletRequest request) {

        HttpSession session = request.getSession(false);
        if (session == null) {
            return;
        }
        session.removeAttribute(Globals.TRANSACTION_TOKEN_KEY);
    }

    public synchronized void saveToken(HttpServletRequest request) {

        HttpSession session = request.getSession();
        String token = generateToken(request);
        if (token != null) {
            session.setAttribute(Globals.TRANSACTION_TOKEN_KEY, token);
        }

    }

And finally, this method is part of org.apache.struts.taglib.html.FormTag:

    protected String renderToken() {
        StringBuffer results = new StringBuffer();
        HttpSession session = pageContext.getSession();

        if (session != null) {
            String token =
                (String) 
session.getAttribute(Globals.TRANSACTION_TOKEN_KEY);
               
            if (token != null) {
                results.append("<input type=\"hidden\" name=\"");
                results.append(Constants.TOKEN_KEY);
                results.append("\" value=\"");
                results.append(token);
                if (this.isXhtml()) {
                    results.append("\" />");
                } else {
                    results.append("\">");
                }
            }
        }

        return results.toString();
    }


Typically, in your setup Action's execute method, you will put tokens in 
place. A unique token will be saved as a HttpSession attribute. A copy 
of this token is inserted as a hidden form variable (this is done for 
you by the html:form tag) and goes to the user with the form. When the 
user submits the form, in comes the token -- it serves as a unique ID 
for a form. In your form processing Action's execute method, the first 
thing you will do is check the validity of this incoming token, by 
comparing it with the expected token (the HttpSession attribute). As 
soon as you finish checking the validity of the token (whether pass or 
fail), you should eliminate the token from the HttpSession attributes 
(the check and reset should be atomic as an execute method allows 
concurrent access -- there is a synchronized method of the singleton 
that provides this) -- that token has been processed and is no longer 
useful. Now if a repeat submit arrives with a duplicate form ID, the 
validity check will fail, as the HttpSession no longer carries that 
value as an attribute -- it either carries a new value or no value at 
all. This ensures that the form processing Action can only occur once 
for a given form.

A typical way do it:

Setup Action.execute:
{
  . . .
  //setup form/populate if necessary
  . . .
  saveToken(request); // generates token; inserts HttpSession attribute;
  //form tag will use this when sending the response
  //that contains the form, including it as a hidden variable
  return mapping.findForward("success");
}


Form processing Action.execute:
{
 . . .
  //check credentials, etc.
 . . .
  //check and reset token as an atomic operation
  if (!isTokenValid(request, true)) throw new Exception("invalid 
transaction token");
 . . .
  //optional -- saveToken(request);
  //token is valid, continue processing
  //optional -- resetToken(request);
  . . .
}


Personally I prefer to use a token processor that uses 
parameter/attribute keys that are more specific (not one key for all 
forms but one key per logical form). This allows the user to have more 
than one form "checked out" and to submit them in any order, but still 
prevents duplicate submits of the same form. But the idea is basically 
the same.

Also, there can be some trickiness involved if the "continue processing" 
block of code above might encounter a manager-layer validation failure, 
and declarative Exception handling directs the user back to the form -- 
this will be a "new" form, so you will need to embed fresh tokens, or 
the user will correct his input, resubmit the form and encounter a 
duplicate submit error and then get really frustrated (see "optional" 
code above).

Erik




Brad Balmer wrote:

>Do people use tokens to disable multiple requests?  I have pages that use
>images to submit forms, thus I cannot use javascript to disable the submit
>on multiple clicks.  I was reading about tokens but couldn't find a full
>example except the three functions to call.
>
>If you can use tokens to disable multiple submits, does anybody have a full
>working example of how to use them?
>
>Thanks.
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>For additional commands, e-mail: user-help@struts.apache.org
>
>
>  
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Use of tokens

Posted by Brad Balmer <bb...@peapod.com>.
Do people use tokens to disable multiple requests?  I have pages that use
images to submit forms, thus I cannot use javascript to disable the submit
on multiple clicks.  I was reading about tokens but couldn't find a full
example except the three functions to call.

If you can use tokens to disable multiple submits, does anybody have a full
working example of how to use them?

Thanks.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to create a web flow with Struts

Posted by Dakota Jack <da...@gmail.com>.
Well, in my opinion, BaTien purposely misled the inquirer.  If you
don't think so, fine. I think it was fairly obvious or I would not
have pointed it out.  I am surprised you don't think so too.

Jack

On Apr 9, 2005 7:50 PM, Ted Husted <te...@gmail.com> wrote:
> On Apr 9, 2005 9:01 PM, Joe Germuska <Jo...@germuska.com> wrote:
> > Jack:
> >
> > This is totally out of line.  BaTien has been a cordial and
> > considerate member of this community for a long time, and you are
> > totally twisting his words to suit your agenda.
> >
> > I am all for a community which fosters debate and embraces opposing
> > opinions, but I am fed up with how you manipulate nearly every post
> > you make to the Struts lists to prod at one or another of your pet
> > positions.
> >
> > Your mean-spirited posts are polluting this community.  How about
> > responding to the list messages from your kinder, gentler "Shey Rab"
> > identity for a while?
> >
> > Joe
> 
> +1
> 
> What some people fail to understand is that Struts is not a product,
> it's a community. The question isn't whether codebases share a
> hierarchy. The question is whether codebases share a community of
> developers.
> 
> One thing this community of developers we call Struts has never
> tolerated is personal attacks. It is one thing to disrespect a
> technology, but we do not tolerate disrespecting individuals.
> 
> The sad, ironic thing is that these sort of attacks only hurt the
> attacker. Tonight, like many nights, the one who loses respect in the
> eyes of the Struts community is not BaTien or Craig or any of the
> other Shale volunteeers, who are only try to help.
> 
> IMHO, the only truly off-topic posts to this list are the ones that
> don't try to help, but only try to harm.
> 
> -Ted.
> 
> "Shale is here, have a beer, and get used to it."
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 


-- 
"You can lead a horse to water but you cannot make it float on its back."
~Dakota Jack~

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to create a web flow with Struts

Posted by Ted Husted <te...@gmail.com>.
On Apr 9, 2005 9:01 PM, Joe Germuska <Jo...@germuska.com> wrote:
> Jack:
> 
> This is totally out of line.  BaTien has been a cordial and
> considerate member of this community for a long time, and you are
> totally twisting his words to suit your agenda.
> 
> I am all for a community which fosters debate and embraces opposing
> opinions, but I am fed up with how you manipulate nearly every post
> you make to the Struts lists to prod at one or another of your pet
> positions.
> 
> Your mean-spirited posts are polluting this community.  How about
> responding to the list messages from your kinder, gentler "Shey Rab"
> identity for a while?
> 
> Joe

+1

What some people fail to understand is that Struts is not a product,
it's a community. The question isn't whether codebases share a
hierarchy. The question is whether codebases share a community of
developers.

One thing this community of developers we call Struts has never
tolerated is personal attacks. It is one thing to disrespect a
technology, but we do not tolerate disrespecting individuals.

The sad, ironic thing is that these sort of attacks only hurt the
attacker. Tonight, like many nights, the one who loses respect in the
eyes of the Struts community is not BaTien or Craig or any of the
other Shale volunteeers, who are only try to help.

IMHO, the only truly off-topic posts to this list are the ones that
don't try to help, but only try to harm.

-Ted.

"Shale is here, have a beer, and get used to it."

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to create a web flow with Struts

Posted by Joe Germuska <Jo...@Germuska.com>.
Jack:

This is totally out of line.  BaTien has been a cordial and 
considerate member of this community for a long time, and you are 
totally twisting his words to suit your agenda.

I am all for a community which fosters debate and embraces opposing 
opinions, but I am fed up with how you manipulate nearly every post 
you make to the Struts lists to prod at one or another of your pet 
positions.

Your mean-spirited posts are polluting this community.  How about 
responding to the list messages from your kinder, gentler "Shey Rab" 
identity for a while?

Joe


At 2:00 PM -0700 4/9/05, Dakota Jack wrote:
><SNIP>
>>  It is you again :-)
></SNIP>
>
>Yes.  The honest guy.
>
><SNIP>
>>  The "we" means our own group who puts its money, time and effort in
>>  creating a service that "we" believe can effectively compete.
></SNIP>
>
>This is the Struts list.  Not the Liars Club.
>
><SNIP>
>>  "We" are just a bunch of pragmatic technology entrepreneurs. "We" do not
>>  take any dogmatic approach. I try to leverage on existing deliverables
>>  and honestly share with the community what i get out of it.
></SNIP>
>
>Honesty my arse.  You were patently dishonest in this case.
>
><SNIP>
>>  This is weekend. We can laugh :-)
>>
>>  BaTien
>>  DBGROUPS
></SNIP>
>
>You apparently can laugh but find it impossible to blush.  When you
>way "we" on a Struts list you know what it means.  You are being
>dishonest.  If JSF cannot make it, please stop stretching every honest
>value known to man to try and prop it up.
>
>If I were on the Shale team, I would not appreciate this type of
>activity.  Also, I thought Shale was going to identify themselves as
>[shale]?
>
>Anyway.  I suppose you thought no one would have the guts to call you
>on your dishonesty with Matt.  Wrong again!  ////-)
>
>--
>"You can lead a horse to water but you cannot make it float on its back."
>~Dakota Jack~
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>For additional commands, e-mail: user-help@struts.apache.org


-- 
Joe Germuska            
Joe@Germuska.com  
http://blog.germuska.com    
"Narrow minds are weapons made for mass destruction"  -The Ex

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to create a web flow with Struts

Posted by Dakota Jack <da...@gmail.com>.
<SNIP>
> It is you again :-)
</SNIP>

Yes.  The honest guy.

<SNIP>
> The "we" means our own group who puts its money, time and effort in
> creating a service that "we" believe can effectively compete. 
</SNIP>

This is the Struts list.  Not the Liars Club.

<SNIP>
> "We" are just a bunch of pragmatic technology entrepreneurs. "We" do not
> take any dogmatic approach. I try to leverage on existing deliverables
> and honestly share with the community what i get out of it.
</SNIP>

Honesty my arse.  You were patently dishonest in this case.

<SNIP>
> This is weekend. We can laugh :-)
> 
> BaTien
> DBGROUPS
</SNIP>

You apparently can laugh but find it impossible to blush.  When you
way "we" on a Struts list you know what it means.  You are being
dishonest.  If JSF cannot make it, please stop stretching every honest
value known to man to try and prop it up.

If I were on the Shale team, I would not appreciate this type of
activity.  Also, I thought Shale was going to identify themselves as
[shale]?

Anyway.  I suppose you thought no one would have the guts to call you
on your dishonesty with Matt.  Wrong again!  ////-)

-- 
"You can lead a horse to water but you cannot make it float on its back."
~Dakota Jack~

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to create a web flow with Struts

Posted by Duong BaTien <du...@gmail.com>.
Dakota Jack wrote:

>I will answer your question after clarifying BaTien's failure to
>respond to your question and his shameless promotion of another
>product through subterfuge.  He is creating confusion.  That is the
>whole point of Struts-Shale.
>
>Please be forewarned that Struts-Shale is not Struts.  Struts-Shale is
>an entirely different product, something like an incipient version of
>Tapestry, which has nothing in common with Struts except it too is a
>framework.  BaTien is not being completely fair or honest with you in
>his response.  He is, in effect, trying to get you to seek a solution
>that has nothing to do with your initial inquiry, in order to promote
>his love for JSF, which is antithetical to Struts as we know it.
>
>The "we" BaTien talks about, in my opinion, is a small group of
>zealots trying to save a fairly old framework idea, JSF, from the
>trash heap.
>
>  
>
Greetings:

It is you again :-)

The "we" means our own group who puts its money, time and effort in 
creating a service that "we" believe can effectively compete. The web 
flow is one of the key area "we" (our group) concentrate in. That is why 
i am interested in how other people try to do it with their own 
committed financial resources. I am interested in how you do it as well 
with the real deliverables.

"We" are just a bunch of pragmatic technology entrepreneurs. "We" do not 
take any dogmatic approach. I try to leverage on existing deliverables 
and honestly share with the community what i get out of it.

This is weekend. We can laugh :-)

BaTien
DBGROUPS

>Now -- YOUR QUESTION.
>
>I would need some clarification of your question to answer it.  What
>do you mean by "the web flow will take the user to all the
>applications necessary to fulfill
>the service"?  User navigation information is very easy to save to a database.  
>
>Jack
>
>
>
>On Apr 9, 2005 8:43 AM, Duong BaTien <du...@gmail.com> wrote:
>  
>
>>Néstor Boscán wrote:
>>
>>    
>>
>>>Hi
>>>
>>>I have a new project were I have to create an application that is a web flow
>>>of multiple standalone applications. Basically the user picks a service and
>>>the web flow will take the user to all the applications necessary to fulfill
>>>the service. We want to be able to save in a database the user navigation
>>>information. Has anybody done something like this with struts?
>>>
>>>Regards,
>>>
>>>Néstor Boscán
>>>
>>>
>>>
>>>      
>>>
>>I have not done this. But this is the direction we are heading to.
>>Craig, the inventor of Struts Commons-Chain and Struts-Shale, has
>>proposed a DialogController and is trying to incorporate features of
>>Spring Web Flow.
>>
>>I found it is very useful as a state engine. You may take a look at
>>Struts-Shale. I am also interest to what you are doing in this area.
>>
>>BaTien
>>DBGROUPS
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>For additional commands, e-mail: user-help@struts.apache.org
>>
>>
>>    
>>
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to create a web flow with Struts

Posted by Dakota Jack <da...@gmail.com>.
I will answer your question after clarifying BaTien's failure to
respond to your question and his shameless promotion of another
product through subterfuge.  He is creating confusion.  That is the
whole point of Struts-Shale.

Please be forewarned that Struts-Shale is not Struts.  Struts-Shale is
an entirely different product, something like an incipient version of
Tapestry, which has nothing in common with Struts except it too is a
framework.  BaTien is not being completely fair or honest with you in
his response.  He is, in effect, trying to get you to seek a solution
that has nothing to do with your initial inquiry, in order to promote
his love for JSF, which is antithetical to Struts as we know it.

The "we" BaTien talks about, in my opinion, is a small group of
zealots trying to save a fairly old framework idea, JSF, from the
trash heap.

Now -- YOUR QUESTION.

I would need some clarification of your question to answer it.  What
do you mean by "the web flow will take the user to all the
applications necessary to fulfill
the service"?  User navigation information is very easy to save to a database.  

Jack



On Apr 9, 2005 8:43 AM, Duong BaTien <du...@gmail.com> wrote:
> Néstor Boscán wrote:
> 
> >Hi
> >
> >I have a new project were I have to create an application that is a web flow
> >of multiple standalone applications. Basically the user picks a service and
> >the web flow will take the user to all the applications necessary to fulfill
> >the service. We want to be able to save in a database the user navigation
> >information. Has anybody done something like this with struts?
> >
> >Regards,
> >
> >Néstor Boscán
> >
> >
> >
> I have not done this. But this is the direction we are heading to.
> Craig, the inventor of Struts Commons-Chain and Struts-Shale, has
> proposed a DialogController and is trying to incorporate features of
> Spring Web Flow.
> 
> I found it is very useful as a state engine. You may take a look at
> Struts-Shale. I am also interest to what you are doing in this area.
> 
> BaTien
> DBGROUPS
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 


-- 
"You can lead a horse to water but you cannot make it float on its back."
~Dakota Jack~

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: How to create a web flow with Struts

Posted by Duong BaTien <du...@gmail.com>.
Néstor Boscán wrote:

>Hi
> 
>I have a new project were I have to create an application that is a web flow
>of multiple standalone applications. Basically the user picks a service and
>the web flow will take the user to all the applications necessary to fulfill
>the service. We want to be able to save in a database the user navigation
>information. Has anybody done something like this with struts?
> 
>Regards,
> 
>Néstor Boscán
>
>  
>
I have not done this. But this is the direction we are heading to. 
Craig, the inventor of Struts Commons-Chain and Struts-Shale, has 
proposed a DialogController and is trying to incorporate features of 
Spring Web Flow.

I found it is very useful as a state engine. You may take a look at 
Struts-Shale. I am also interest to what you are doing in this area.

BaTien
DBGROUPS


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org