You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Rick Reumann <r...@reumann.net> on 2003/03/11 08:36:38 UTC

[ANN] Struttin' With Struts beta (newbies esp. welcome)

I created a web site that walks new Struts users step by step
through the development of three VERY simple web applications in three
lessons. Each lesson adds a few more features so that they build upon
each other yet each stands alone such that if you follow the steps in
any lesson you'll have built a very basic application regardless of
which lesson you start with.

I created these because there seemed to be lacking some more recent
"walk through" Struts tutorials geared toward the very new Struts
developer. I think real newbies will find them especially useful, but
then again I could be way wrong:)

I'm considering the site a "beta" because I'm sure there will be some
mistakes. If anyone sees something I'm doing in a lesson that is way
off (or a very bad practice) please let me know. Some of the stuff I
know could be done in a more "best practice" way, but for the sake of
trying to also keep the lessons small and simple some ideas weren't
included (ie- I didn't use a constants interface for my forward
definitions).

If anyone wants to contribute, reword, or add anything please let me
know. The site is there to help others. I got really lazy in a lot of
places and didn't say much about certain things that I would have liked
to. Hopefully over time the site will improve.

Struttin' with Struts:

http://www.reumann.net/do/struts/main

-- 
Rick

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


Re: BaseBean questions [was] [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Vic Cekvenich <vc...@basebeans.com>.

Rick Reumann wrote:
> On Thu, 13 Mar 2003 06:22:58 -0500
> Vic Cekvenich <vc...@basebeans.com> wrote:
>  
> 
>>Also, a bean should not do persistence, but should delegate. So I
>>create a "helper" object, a DAOImplementation. ( a DAO also has a
>>base). One thing is obvoice, a baseBean needs to CRUD, so it makes
>>sense to baseBean { public void save() { DAO.update(); }}
> 
> 
> I love the OO approach to your code, I'm just still very confused about
> how a simple implementation of a BaseBean would work in calling a DAO to
> save itself? In other words, what gets passed to the DAO from the
> BaseBean implementation to do the CRUD?
> 
> For example in a case where you had:
> 
> EmployeeFormBean extends BaseBean
> 
> I would take it EmployeeForBean would need to hold user fields such as
> firstName, lastName, address, etc with appropriate getter and setters.
> How do these fields then get passed to your DAO for the CRUD operations?
> 


A bean has getters and setters as you said, and it gets and sets them to 
a list (of a maps), where a list is a property of the Bean!
So that is why I say list/collection backed bean.
So no DAO here, and simple to "fake" for a prototype, even multi row.


Then on
bean.save(){
myDAO.update(localList);
}
That is the beans part! It delegates, so no magic or secret.


3rd, in DAO update (list l) {
// code to intalize a transaction
// code to iterate the list
// code to update each row
//code to commit, release
// Suprisingly, this code can be generic/reusable via OO
}

Yes, your implemenation is great. I will walk you over the phone.

hth,
V


> Thanks,
> 



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


Re: BaseBean questions [was] [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Rick Reumann <r...@reumann.net>.
On Thu, 13 Mar 2003 06:22:58 -0500
Vic Cekvenich <vc...@basebeans.com> wrote:
 
> Also, a bean should not do persistence, but should delegate. So I
> create a "helper" object, a DAOImplementation. ( a DAO also has a
> base). One thing is obvoice, a baseBean needs to CRUD, so it makes
> sense to baseBean { public void save() { DAO.update(); }}

I love the OO approach to your code, I'm just still very confused about
how a simple implementation of a BaseBean would work in calling a DAO to
save itself? In other words, what gets passed to the DAO from the
BaseBean implementation to do the CRUD?

For example in a case where you had:

EmployeeFormBean extends BaseBean

I would take it EmployeeForBean would need to hold user fields such as
firstName, lastName, address, etc with appropriate getter and setters.
How do these fields then get passed to your DAO for the CRUD operations?

Thanks,

-- 
Rick Reumann

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


Re: BaseBean questions [was] [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Vic Cekvenich <vc...@basebeans.com>.

Rick Reumann wrote:
> Thanks vic for the kind words and feedback. I replied to you privately.
> Rest of this email is in regard to the BaseBeans stuff I looked it.
> Comments below...
> 
> On Wed, Mar 12,'03(08:51 PM GMT-0500), Vic wrote:
>    
> 
>>So consider using list/collection based beans. Ex:
>>http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/basicportal/bP/WEB-INF/src/war/org/apache/scaffoldingLib/base
>>Note that I use iBatis.com DAO, a good and fast SQL based DAO.
>>
> 
> 
> I've been looking at the classes from the link above and I think
> what would really help me is seeing an actual web app implement the
> org.apache.scaffoldingLib.base.BaseBean and see it being used for CRUD
> operations. I think you had a web app to download on your basebeans.com
> site but I'm not sure what to download to see this in action (should I
> look at the Portal download?)

I have not release yet, so no download. It does work, but you have to 
CVS out of sf.net or I can e-mail you separate. It's work in progress, 
dispatch is not done yet.
(I am time slicing as is everyone doing open source. As soon as a few 
more things work, I will create a early build for easier download (non-cvs))
You are welcome to use my code, its Apache license, (or develop a module 
you check in to my code, for example "user registration", similar to 
employee list above)

> 
> For the sake of this discussion lets consider an application that would
> allow a user to view Employees, insert an employee, update an employee
> etc. (I'm thinking of updating my lessons, with your approval of course,
> to incorporate some of these ideas, but I want to make sure I understand
> them first:)
> 
> Using the List backed BaseBean idea, it appears that all the ActionForm
> beans would extend BaseBean. I guess the big difference in this
> approach, compared to the others I've seen documented, is your Form
> beans are actually responsible for a lot more than just being holders
> for simple form field properties.

My design is this: A bean should delegate DAO.
Being list/collection bean is not "controversial".
Having "zero-copy" beans is.
  This lets JSTL, Model 1, SOAP, etc. etc use beans, and it's easy to 
unit test (see my abstract testIt() in bean). Also, "my" beans are 
seriazable, so server can fail over and recover session beans, or during 
development, you do not have to login.
People have called this approach simpler. When writing a complex 
application, a simpler design is helpfull.

The other design is "as intended by developers of Struts", for example:
http://www.eyde.net/eyde/index.do?date=20021021#213801 (a Struts blog)
or variation in Scaffolding in struts.sf.net.
There is a lot of DAO-type code in Action, and copying of fields, and 
being Struts bound.
Advantage is that it can more easily display "wrong" data in Validation.

Explore both.


> 
> So lets take a typical example of where a user wants to update Employee
> information on a form.  I take it our EmployeeFormBean would have your
> usual firstName, lastName fields, but then rather than pass this bean
> off to be converted into a Data Transfer Object and then passed off to a
> model layer to be updated, you would instead simply do something like
> this in your Action:
> 
> (in the execute or dispatch method of an Action called for doing an
> update):
> 
> EmployeeFormBean emp = (EmployeeFormBean)form;
> emp.save(); //????
> 
> To do this would we need to override the BaseBean's save() method? I
> assume you also would need to provide an implementation of the BaseDAO's
> update(List l) method? 

I use OO, I am very comfortable leveraging OO, since OO increases re 
usability and productivity. (and I am a certified OO instructor for like 
8 years)
Let me just say: "is a/has a", which is even on a Sun Java Cert. 
Developer exam.
Or extends/delegates is the other way. So let me try to explain the 
implementation.
There are things that are in common with beans, like *apples and 
oranges*! If you are trained in functional decomposition, top/down, 
bottom up, or structural design, you look for differences.
But OO is like genetic: Apples and Oranges are trees, grow fruit, you 
can eat it, it can peel, etc. So they are 98% same!

Point is is crate a baseBean, that I extend to create concrete form 
beans. Any code the I find that is common, I put in base (which I call 
programing after design, since even after I created a lot of concrete 
beans, I can add code and they all benefit).

Also, a bean should not do persistence, but should delegate. So I create 
a "helper" object, a DAOImplementation. ( a DAO also has a base).
One thing is obvoice, a baseBean needs to CRUD, so it makes sense to
baseBean { public void save() { DAO.update(); }}

So each concrete bean has a concrete DAO, since each bean needs it's own 
specific CRUD.
But ... I can also write generic CRUD in base DAO and baseBean, via 
reflection, getMetaData, etc.

All I am saying is extend and delegate.

One more wrinkle. DB access it the slowest part of J2EE architecture, is 
well known. A DAO design that works in development might not stale in 
production. So... Everyone *should* be able to change the DAO 
implementation without affecting the rest of the application. For 
example, Stuarts can render view via Velocity, Stxx in Borwser or JSP.
So it makes sense that you should be able to change from JDO,OJB, 
Hibernate to another persistence, if you picked the wrong one (most 
people do pick the wrong one). So I advocate that a DAO should be an 
interface, do you can say this in a bean
DAO d = new MyDAOChoice().
If you code to interface in your bean, you can replace the DAO 
mechanism. (I think everyone should use SQL based DAO (ex: ibatis, 
rowset, commonsSQL, etc.
Why? (I do not want to write a book here) ADO.net does not do O/R 
pasterns, because O/R ends up making relational in the end, and on any 
complex form, O/R can be very slow. ) So use a DAO interface.

This is just modular MVC programing, reuse, delegate, make it modular so 
you can replace the M of the MVC.

Java is OO capable, but people can code object disoriented, and it 
compiles just fine.



I'm really starting to get lost here:) I think I
> need a simple walk through of what would take place upon a simple update
> of an employee. I'm also confused what would be held in this List (what
> type of objects is it holding) and how we would know what to update in
> the List? 
> 

Lets talk voice.

> I also don't see how the DAOIBase fits into the picture (it has a
> doUpdate(List l, String s) method but none of the classes from the link
> you gave seem to implement it. The BaseBean seems to want
> implementations of DAO and not DAOIBase. 
> 
> I think I should stop asking questions until I first get a better handle
> on an example implentation of a BaseBean and what kind of objects are
> stored in the List that backs it. If the list is used for display
> purposes, such as for displaying a List of employees to the user, I get
> it (I think:).. you'd have an EmployeeFormBean (which extends BaseBean)
> that stores a List of EmployeeBean objects (not EmployeeFormBean
> objects). I'm not sure I have that use of the List backed Form Bean
> correct? Assuming I do, I'm still really confused on how the
> insert/update works using a BaseBean implementation.  Where does the
> transfer take place from the FormBean fields that get submitted into a
> bean that some DAO could use to successfuly peform the insert/update?
> 
> Im a bit under the weather so hopefully I didn't babble too much:) I'd
> really like to understand the implementation of a BaseBean better since
> it sounds very interesting (yet completely different from the way I've
> been using FormBeans so far).
>  

V
>  
> 



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


BaseBean questions [was] [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Rick Reumann <r...@reumann.net>.
Thanks vic for the kind words and feedback. I replied to you privately.
Rest of this email is in regard to the BaseBeans stuff I looked it.
Comments below...

On Wed, Mar 12,'03(08:51 PM GMT-0500), Vic wrote:
   
> So consider using list/collection based beans. Ex:
> http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/basicportal/bP/WEB-INF/src/war/org/apache/scaffoldingLib/base
> Note that I use iBatis.com DAO, a good and fast SQL based DAO.
> 

I've been looking at the classes from the link above and I think
what would really help me is seeing an actual web app implement the
org.apache.scaffoldingLib.base.BaseBean and see it being used for CRUD
operations. I think you had a web app to download on your basebeans.com
site but I'm not sure what to download to see this in action (should I
look at the Portal download?)

For the sake of this discussion lets consider an application that would
allow a user to view Employees, insert an employee, update an employee
etc. (I'm thinking of updating my lessons, with your approval of course,
to incorporate some of these ideas, but I want to make sure I understand
them first:)

Using the List backed BaseBean idea, it appears that all the ActionForm
beans would extend BaseBean. I guess the big difference in this
approach, compared to the others I've seen documented, is your Form
beans are actually responsible for a lot more than just being holders
for simple form field properties.

So lets take a typical example of where a user wants to update Employee
information on a form.  I take it our EmployeeFormBean would have your
usual firstName, lastName fields, but then rather than pass this bean
off to be converted into a Data Transfer Object and then passed off to a
model layer to be updated, you would instead simply do something like
this in your Action:

(in the execute or dispatch method of an Action called for doing an
update):

EmployeeFormBean emp = (EmployeeFormBean)form;
emp.save(); //????

To do this would we need to override the BaseBean's save() method? I
assume you also would need to provide an implementation of the BaseDAO's
update(List l) method? I'm really starting to get lost here:) I think I
need a simple walk through of what would take place upon a simple update
of an employee. I'm also confused what would be held in this List (what
type of objects is it holding) and how we would know what to update in
the List? 

I also don't see how the DAOIBase fits into the picture (it has a
doUpdate(List l, String s) method but none of the classes from the link
you gave seem to implement it. The BaseBean seems to want
implementations of DAO and not DAOIBase. 

I think I should stop asking questions until I first get a better handle
on an example implentation of a BaseBean and what kind of objects are
stored in the List that backs it. If the list is used for display
purposes, such as for displaying a List of employees to the user, I get
it (I think:).. you'd have an EmployeeFormBean (which extends BaseBean)
that stores a List of EmployeeBean objects (not EmployeeFormBean
objects). I'm not sure I have that use of the List backed Form Bean
correct? Assuming I do, I'm still really confused on how the
insert/update works using a BaseBean implementation.  Where does the
transfer take place from the FormBean fields that get submitted into a
bean that some DAO could use to successfuly peform the insert/update?

Im a bit under the weather so hopefully I didn't babble too much:) I'd
really like to understand the implementation of a BaseBean better since
it sounds very interesting (yet completely different from the way I've
been using FormBeans so far).
 
 

-- 
Rick Reumann
Struttin' with Struts: 
http://www.reumann.net/do/struts/main

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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Vic Cekvenich <vc...@basebeans.com>.
One good practice (for everyone) it to use list backed beans or 
collection backed bean.

#1. When you use mutlirow, beans need to iterate (Collection) so your 
design has to have it anyway.
#2. You can more easily change the DAO implementation of the DAO 
interface, if you only use it as a list/collection. If your DAO proves 
not scalable in real production, this is very nice.
#3. You can get SQL data, or XML, or MQ, or CORBA, etc, and just put it 
in the list via your DAO.
#4. You can create a prototype by just hard coding a list when you 
declare it (List l = {Bush, President}, {Collin, General};) , and not 
implement the DAO until later in the project. Or teach Struts, without 
going into model. But if you want to go model later, most DAO's return a 
list/collection. Did that even make sense?

So consider using list/collection based beans. Ex:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/basicportal/bP/WEB-INF/src/war/org/apache/scaffoldingLib/base
Note that I use iBatis.com DAO, a good and fast SQL based DAO.

2nd, consider moving up lessons on Tiles, Menu, etc. I found success on 
projects when presentation was done up front as a prototype with action 
just doing nothing but returning "success" to a tile. And the action 
being called from a struts menu.

3rd consider teaching JSTL for tags.

But I repeat, Excellent!

I hope that we get a lot less newbie questions on the list thanks to 
Rick, eveyone, even old hats should take it.

.V

ps: Rick, I will make sure you get a pass to see/hear Ted Husted's live 
presentation via WebCast/Webex this Saturday.

pps: I still think RowSet is best practice, but list/collection is a 
veery, very good practice and should work for most cases.



Rick Reumann wrote:
> On Tue, 11 Mar 2003 06:49:54 -0500
> Vic Cekvenich <vc...@basebeans.com> wrote:
> 
> 
>>Excellent!!!
>>
>>I will take the tutorial.
>>I am wondering what are you doing for your Data Base, is it JDBC or 
>>something else.
> 
> 
> Thank you Vic.  
> 
> Actually since the lessons are very basic they don't even really touch
> the Model layer. They stop with a simple dummy call to service methods
> like:
> 
> EmployeeDTO insertEmployee( EmployeeDTO employee ) { return employee; }
>  
> My goal eventually is to build up to some model layer
> approaches on Database connectivity etc, but of course would have to run
> that stuff by you gurus :) as I'm still very weak in that area myself. 
> 
> Tentative lessons I'd like to see:
> 
> Lesson IV -
>    Tiles
>    internationalization
> 
> Lesson V -
>    Accessing your model layer ( proper use of factories, services, DAOs
> etc.)   
>    nested tags
> 
> It would be cool if someone wanted to create any of the above lessons
> following the same pattern of dealing with inserting/updating an
> employee. If each lesson follows the same functionality (with just added
> components/features) it makes it much easier for a new person to follow.
> 
> 
> 
>>>Struttin' with Struts:
>>>
>>>http://www.reumann.net/do/struts/main
>>>
> 
>  
> 



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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Rick Reumann <r...@reumann.net>.
On Tue, 11 Mar 2003 06:49:54 -0500
Vic Cekvenich <vc...@basebeans.com> wrote:

> Excellent!!!
> 
> I will take the tutorial.
> I am wondering what are you doing for your Data Base, is it JDBC or 
> something else.

Thank you Vic.  

Actually since the lessons are very basic they don't even really touch
the Model layer. They stop with a simple dummy call to service methods
like:

EmployeeDTO insertEmployee( EmployeeDTO employee ) { return employee; }
 
My goal eventually is to build up to some model layer
approaches on Database connectivity etc, but of course would have to run
that stuff by you gurus :) as I'm still very weak in that area myself. 

Tentative lessons I'd like to see:

Lesson IV -
   Tiles
   internationalization

Lesson V -
   Accessing your model layer ( proper use of factories, services, DAOs
etc.)   
   nested tags

It would be cool if someone wanted to create any of the above lessons
following the same pattern of dealing with inserting/updating an
employee. If each lesson follows the same functionality (with just added
components/features) it makes it much easier for a new person to follow.


> > Struttin' with Struts:
> > 
> > http://www.reumann.net/do/struts/main
> > 
 

-- 
Rick Reumann

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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Vic Cekvenich <vc...@basebeans.com>.
Excellent!!!

I will take the tutorial.
I am wondering what are you doing for your Data Base, is it JDBC or 
something else.

.V

Rick Reumann wrote:
> I created a web site that walks new Struts users step by step
> through the development of three VERY simple web applications in three
> lessons. Each lesson adds a few more features so that they build upon
> each other yet each stands alone such that if you follow the steps in
> any lesson you'll have built a very basic application regardless of
> which lesson you start with.
> 
> I created these because there seemed to be lacking some more recent
> "walk through" Struts tutorials geared toward the very new Struts
> developer. I think real newbies will find them especially useful, but
> then again I could be way wrong:)
> 
> I'm considering the site a "beta" because I'm sure there will be some
> mistakes. If anyone sees something I'm doing in a lesson that is way
> off (or a very bad practice) please let me know. Some of the stuff I
> know could be done in a more "best practice" way, but for the sake of
> trying to also keep the lessons small and simple some ideas weren't
> included (ie- I didn't use a constants interface for my forward
> definitions).
> 
> If anyone wants to contribute, reword, or add anything please let me
> know. The site is there to help others. I got really lazy in a lot of
> places and didn't say much about certain things that I would have liked
> to. Hopefully over time the site will improve.
> 
> Struttin' with Struts:
> 
> http://www.reumann.net/do/struts/main
> 



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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Mark Zeltser <Ma...@morganstanley.com>.
Thanks,

I didn't notice it was in .war.zip format.

Mark.

Phil Steitz wrote:

> Mark Zeltser wrote:
> > Rick,
> >
> > Good job, somehow I can't unzip war files, I am getting corrupt zip file
> > exception.
> >
> > Mark.
>
> Use jar -xf <war file name>
>
> War files are jar files, not zips.  Your JDK should include the jar
> utility in its /bin directory.
>
> >
> > Rick Reumann wrote:
> >
> >
> >>I created a web site that walks new Struts users step by step
> >>through the development of three VERY simple web applications in three
> >>lessons. Each lesson adds a few more features so that they build upon
> >>each other yet each stands alone such that if you follow the steps in
> >>any lesson you'll have built a very basic application regardless of
> >>which lesson you start with.
> >>
> >>I created these because there seemed to be lacking some more recent
> >>"walk through" Struts tutorials geared toward the very new Struts
> >>developer. I think real newbies will find them especially useful, but
> >>then again I could be way wrong:)
> >>
> >>I'm considering the site a "beta" because I'm sure there will be some
> >>mistakes. If anyone sees something I'm doing in a lesson that is way
> >>off (or a very bad practice) please let me know. Some of the stuff I
> >>know could be done in a more "best practice" way, but for the sake of
> >>trying to also keep the lessons small and simple some ideas weren't
> >>included (ie- I didn't use a constants interface for my forward
> >>definitions).
> >>
> >>If anyone wants to contribute, reword, or add anything please let me
> >>know. The site is there to help others. I got really lazy in a lot of
> >>places and didn't say much about certain things that I would have liked
> >>to. Hopefully over time the site will improve.
> >>
> >>Struttin' with Struts:
> >>
> >>http://www.reumann.net/do/struts/main
> >>
> >>--
> >>Rick
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail: struts-user-help@jakarta.apache.org
> >
> >
> > --
> > NOTICE: If received in error, please destroy and notify sender.  Sender
> > does not waive confidentiality or privilege, and use is prohibited.
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: struts-user-help@jakarta.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org

--
NOTICE: If received in error, please destroy and notify sender.  Sender does
not waive confidentiality or privilege, and use is prohibited.



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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Rasputin <ra...@idoru.mine.nu>.
* Phil Steitz <ph...@steitz.com> [0346 19:46]:
> Mark Zeltser wrote:
> >Rick,
> >
> >Good job, somehow I can't unzip war files, I am getting corrupt zip file
> >exception.
> >
> >Mark.
> 
> 
> Use jar -xf <war file name>
> 
> War files are jar files, not zips.  Your JDK should include the jar 
> utility in its /bin directory.

Yeah, but jar files are zip files :)

-- 
Dave Mack:	"Your stupidity, Allen, is simply not up to par."
Allen Gwinn:	"Yours is."
Rasputin :: Jack of All Trades - Master of Nuns

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


RE: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by James Mitchell <jm...@apache.org>.
I just add it to my right click menu.

For 2000 and XP, you can do it using 'open with' context menu.
With 98 and NT, you can do it in the Registry.


I hope saying 'do it in the Registry' doesn't get hung up in our scan
mail :D

--
James Mitchell
Software Developer/Struts Evangelist
http://struts.sourceforge.net/struts-atlanta/



> -----Original Message-----
> From: Daniel Jaffa [mailto:jaffad@courtinnovation.org] 
> Sent: Tuesday, March 11, 2003 4:12 PM
> To: Struts Users Mailing List
> Subject: Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)
> 
> 
> A good way to tell if win zip will open your archive is to 
> create a shortcut
> on your desktop to winzip.  Try to open the shortcut while 
> dragging the file
> that you want to open.  This works for Jar, War, Zip, Tar, 
> Exe (That where
> created in winzip) and many other compressed file types.
> ----- Original Message -----
> From: "James Mitchell" <jm...@apache.org>
> To: "'Struts Users Mailing List'" <st...@jakarta.apache.org>
> Sent: Tuesday, March 11, 2003 2:50 PM
> Subject: RE: [ANN] Struttin' With Struts beta (newbies esp. welcome)
> 
> 
> > Winzip will open all of these and probably more:
> > arc
> > arj
> > b64
> > bhx
> > cab
> > hqx
> > lzh
> > mim
> > tar
> > tgz
> > gz
> > z
> > jar
> > war
> > ear
> > sar
> > uu
> > uue
> > xxe
> >
> > --
> > James Mitchell
> > Software Developer/Struts Evangelist
> > http://struts.sourceforge.net/struts-atlanta/
> >
> >
> >
> > > -----Original Message-----
> > > From: Phil Steitz [mailto:phil@steitz.com]
> > > Sent: Tuesday, March 11, 2003 2:44 PM
> > > To: Struts Users Mailing List
> > > Subject: Re: [ANN] Struttin' With Struts beta (newbies 
> esp. welcome)
> > >
> > >
> > > Mark Zeltser wrote:
> > > > Rick,
> > > >
> > > > Good job, somehow I can't unzip war files, I am getting
> > > corrupt zip file
> > > > exception.
> > > >
> > > > Mark.
> > >
> > >
> > > Use jar -xf <war file name>
> > >
> > > War files are jar files, not zips.  Your JDK should 
> include the jar
> > > utility in its /bin directory.
> > >
> > >
> > > >
> > > > Rick Reumann wrote:
> > > >
> > > >
> > > >>I created a web site that walks new Struts users step by step
> > > >>through the development of three VERY simple web
> > > applications in three
> > > >>lessons. Each lesson adds a few more features so that they
> > > build upon
> > > >>each other yet each stands alone such that if you follow
> > > the steps in
> > > >>any lesson you'll have built a very basic application 
> regardless of
> > > >>which lesson you start with.
> > > >>
> > > >>I created these because there seemed to be lacking some 
> more recent
> > > >>"walk through" Struts tutorials geared toward the very 
> new Struts
> > > >>developer. I think real newbies will find them especially
> > > useful, but
> > > >>then again I could be way wrong:)
> > > >>
> > > >>I'm considering the site a "beta" because I'm sure there
> > > will be some
> > > >>mistakes. If anyone sees something I'm doing in a 
> lesson that is way
> > > >>off (or a very bad practice) please let me know. Some 
> of the stuff I
> > > >>know could be done in a more "best practice" way, but for
> > > the sake of
> > > >>trying to also keep the lessons small and simple some 
> ideas weren't
> > > >>included (ie- I didn't use a constants interface for my forward
> > > >>definitions).
> > > >>
> > > >>If anyone wants to contribute, reword, or add anything 
> please let me
> > > >>know. The site is there to help others. I got really lazy
> > > in a lot of
> > > >>places and didn't say much about certain things that I
> > > would have liked
> > > >>to. Hopefully over time the site will improve.
> > > >>
> > > >>Struttin' with Struts:
> > > >>
> > > >>http://www.reumann.net/do/struts/main
> > > >>
> > > >>--
> > > >>Rick
> > > >>
> > > >>------------------------------------------------------------
> > > ---------
> > > >>To unsubscribe, e-mail: 
> struts-user-unsubscribe@jakarta.apache.org
> > > >>For additional commands, e-mail: 
> struts-user-help@jakarta.apache.org
> > > >
> > > >
> > > > --
> > > > NOTICE: If received in error, please destroy and notify
> > > sender.  Sender
> > > > does not waive confidentiality or privilege, and use is 
> prohibited.
> > > >
> > > >
> > > >
> > > >
> > > 
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: 
> struts-user-unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail: 
> struts-user-help@jakarta.apache.org
> > > >
> > >
> > >
> > >
> > >
> > > 
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: 
> struts-user-help@jakarta.apache.org
> > >
> >
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: struts-user-help@jakarta.apache.org
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
> 


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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Daniel Jaffa <ja...@courtinnovation.org>.
A good way to tell if win zip will open your archive is to create a shortcut
on your desktop to winzip.  Try to open the shortcut while dragging the file
that you want to open.  This works for Jar, War, Zip, Tar, Exe (That where
created in winzip) and many other compressed file types.
----- Original Message -----
From: "James Mitchell" <jm...@apache.org>
To: "'Struts Users Mailing List'" <st...@jakarta.apache.org>
Sent: Tuesday, March 11, 2003 2:50 PM
Subject: RE: [ANN] Struttin' With Struts beta (newbies esp. welcome)


> Winzip will open all of these and probably more:
> arc
> arj
> b64
> bhx
> cab
> hqx
> lzh
> mim
> tar
> tgz
> gz
> z
> jar
> war
> ear
> sar
> uu
> uue
> xxe
>
> --
> James Mitchell
> Software Developer/Struts Evangelist
> http://struts.sourceforge.net/struts-atlanta/
>
>
>
> > -----Original Message-----
> > From: Phil Steitz [mailto:phil@steitz.com]
> > Sent: Tuesday, March 11, 2003 2:44 PM
> > To: Struts Users Mailing List
> > Subject: Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)
> >
> >
> > Mark Zeltser wrote:
> > > Rick,
> > >
> > > Good job, somehow I can't unzip war files, I am getting
> > corrupt zip file
> > > exception.
> > >
> > > Mark.
> >
> >
> > Use jar -xf <war file name>
> >
> > War files are jar files, not zips.  Your JDK should include the jar
> > utility in its /bin directory.
> >
> >
> > >
> > > Rick Reumann wrote:
> > >
> > >
> > >>I created a web site that walks new Struts users step by step
> > >>through the development of three VERY simple web
> > applications in three
> > >>lessons. Each lesson adds a few more features so that they
> > build upon
> > >>each other yet each stands alone such that if you follow
> > the steps in
> > >>any lesson you'll have built a very basic application regardless of
> > >>which lesson you start with.
> > >>
> > >>I created these because there seemed to be lacking some more recent
> > >>"walk through" Struts tutorials geared toward the very new Struts
> > >>developer. I think real newbies will find them especially
> > useful, but
> > >>then again I could be way wrong:)
> > >>
> > >>I'm considering the site a "beta" because I'm sure there
> > will be some
> > >>mistakes. If anyone sees something I'm doing in a lesson that is way
> > >>off (or a very bad practice) please let me know. Some of the stuff I
> > >>know could be done in a more "best practice" way, but for
> > the sake of
> > >>trying to also keep the lessons small and simple some ideas weren't
> > >>included (ie- I didn't use a constants interface for my forward
> > >>definitions).
> > >>
> > >>If anyone wants to contribute, reword, or add anything please let me
> > >>know. The site is there to help others. I got really lazy
> > in a lot of
> > >>places and didn't say much about certain things that I
> > would have liked
> > >>to. Hopefully over time the site will improve.
> > >>
> > >>Struttin' with Struts:
> > >>
> > >>http://www.reumann.net/do/struts/main
> > >>
> > >>--
> > >>Rick
> > >>
> > >>------------------------------------------------------------
> > ---------
> > >>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> > >>For additional commands, e-mail: struts-user-help@jakarta.apache.org
> > >
> > >
> > > --
> > > NOTICE: If received in error, please destroy and notify
> > sender.  Sender
> > > does not waive confidentiality or privilege, and use is prohibited.
> > >
> > >
> > >
> > >
> > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: struts-user-help@jakarta.apache.org
> > >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: struts-user-help@jakarta.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>


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


RE: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by James Mitchell <jm...@apache.org>.
Winzip will open all of these and probably more:
arc
arj
b64
bhx
cab
hqx
lzh
mim
tar
tgz
gz
z
jar
war
ear
sar
uu
uue
xxe

--
James Mitchell
Software Developer/Struts Evangelist
http://struts.sourceforge.net/struts-atlanta/



> -----Original Message-----
> From: Phil Steitz [mailto:phil@steitz.com] 
> Sent: Tuesday, March 11, 2003 2:44 PM
> To: Struts Users Mailing List
> Subject: Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)
> 
> 
> Mark Zeltser wrote:
> > Rick,
> > 
> > Good job, somehow I can't unzip war files, I am getting 
> corrupt zip file
> > exception.
> > 
> > Mark.
> 
> 
> Use jar -xf <war file name>
> 
> War files are jar files, not zips.  Your JDK should include the jar 
> utility in its /bin directory.
> 
> 
> > 
> > Rick Reumann wrote:
> > 
> > 
> >>I created a web site that walks new Struts users step by step
> >>through the development of three VERY simple web 
> applications in three
> >>lessons. Each lesson adds a few more features so that they 
> build upon
> >>each other yet each stands alone such that if you follow 
> the steps in
> >>any lesson you'll have built a very basic application regardless of
> >>which lesson you start with.
> >>
> >>I created these because there seemed to be lacking some more recent
> >>"walk through" Struts tutorials geared toward the very new Struts
> >>developer. I think real newbies will find them especially 
> useful, but
> >>then again I could be way wrong:)
> >>
> >>I'm considering the site a "beta" because I'm sure there 
> will be some
> >>mistakes. If anyone sees something I'm doing in a lesson that is way
> >>off (or a very bad practice) please let me know. Some of the stuff I
> >>know could be done in a more "best practice" way, but for 
> the sake of
> >>trying to also keep the lessons small and simple some ideas weren't
> >>included (ie- I didn't use a constants interface for my forward
> >>definitions).
> >>
> >>If anyone wants to contribute, reword, or add anything please let me
> >>know. The site is there to help others. I got really lazy 
> in a lot of
> >>places and didn't say much about certain things that I 
> would have liked
> >>to. Hopefully over time the site will improve.
> >>
> >>Struttin' with Struts:
> >>
> >>http://www.reumann.net/do/struts/main
> >>
> >>--
> >>Rick
> >>
> >>------------------------------------------------------------
> ---------
> >>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail: struts-user-help@jakarta.apache.org
> > 
> > 
> > --
> > NOTICE: If received in error, please destroy and notify 
> sender.  Sender
> > does not waive confidentiality or privilege, and use is prohibited.
> > 
> > 
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: struts-user-help@jakarta.apache.org
> > 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
> 


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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Phil Steitz <ph...@steitz.com>.
Mark Zeltser wrote:
> Rick,
> 
> Good job, somehow I can't unzip war files, I am getting corrupt zip file
> exception.
> 
> Mark.


Use jar -xf <war file name>

War files are jar files, not zips.  Your JDK should include the jar 
utility in its /bin directory.


> 
> Rick Reumann wrote:
> 
> 
>>I created a web site that walks new Struts users step by step
>>through the development of three VERY simple web applications in three
>>lessons. Each lesson adds a few more features so that they build upon
>>each other yet each stands alone such that if you follow the steps in
>>any lesson you'll have built a very basic application regardless of
>>which lesson you start with.
>>
>>I created these because there seemed to be lacking some more recent
>>"walk through" Struts tutorials geared toward the very new Struts
>>developer. I think real newbies will find them especially useful, but
>>then again I could be way wrong:)
>>
>>I'm considering the site a "beta" because I'm sure there will be some
>>mistakes. If anyone sees something I'm doing in a lesson that is way
>>off (or a very bad practice) please let me know. Some of the stuff I
>>know could be done in a more "best practice" way, but for the sake of
>>trying to also keep the lessons small and simple some ideas weren't
>>included (ie- I didn't use a constants interface for my forward
>>definitions).
>>
>>If anyone wants to contribute, reword, or add anything please let me
>>know. The site is there to help others. I got really lazy in a lot of
>>places and didn't say much about certain things that I would have liked
>>to. Hopefully over time the site will improve.
>>
>>Struttin' with Struts:
>>
>>http://www.reumann.net/do/struts/main
>>
>>--
>>Rick
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: struts-user-help@jakarta.apache.org
> 
> 
> --
> NOTICE: If received in error, please destroy and notify sender.  Sender
> does not waive confidentiality or privilege, and use is prohibited.
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
> 




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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Rick Reumann <r...@reumann.net>.
On Tue, 11 Mar 2003 11:53:39 -0500
Mark Zeltser <Ma...@morganstanley.com> wrote:
 
> Good job, somehow I can't unzip war files, I am getting corrupt zip
> file exception.

I haven't tried to unzip a war file on Windows. Can you rename it to
.zip and see what happens? You should just be able to plop it in your
webapps directory and it'll expand for you.

> > Struttin' with Struts:
> >
> > http://www.reumann.net/do/struts/main
 


-- 
Rick Reumann

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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Mark Zeltser <Ma...@morganstanley.com>.
Rick,

Good job, somehow I can't unzip war files, I am getting corrupt zip file
exception.

Mark.

Rick Reumann wrote:

> I created a web site that walks new Struts users step by step
> through the development of three VERY simple web applications in three
> lessons. Each lesson adds a few more features so that they build upon
> each other yet each stands alone such that if you follow the steps in
> any lesson you'll have built a very basic application regardless of
> which lesson you start with.
>
> I created these because there seemed to be lacking some more recent
> "walk through" Struts tutorials geared toward the very new Struts
> developer. I think real newbies will find them especially useful, but
> then again I could be way wrong:)
>
> I'm considering the site a "beta" because I'm sure there will be some
> mistakes. If anyone sees something I'm doing in a lesson that is way
> off (or a very bad practice) please let me know. Some of the stuff I
> know could be done in a more "best practice" way, but for the sake of
> trying to also keep the lessons small and simple some ideas weren't
> included (ie- I didn't use a constants interface for my forward
> definitions).
>
> If anyone wants to contribute, reword, or add anything please let me
> know. The site is there to help others. I got really lazy in a lot of
> places and didn't say much about certain things that I would have liked
> to. Hopefully over time the site will improve.
>
> Struttin' with Struts:
>
> http://www.reumann.net/do/struts/main
>
> --
> Rick
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org

--
NOTICE: If received in error, please destroy and notify sender.  Sender
does not waive confidentiality or privilege, and use is prohibited.



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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Rick Reumann <r...@reumann.net>.
On Tue, 11 Mar 2003 18:51:10 -0600
Dan Allen <da...@mojavelinux.com> wrote:

> Two more comments:
> 
> In the second tutorial, you are preparing the employeeForm using the
> SetUpEmployeeAction.  In doing so, you run
> 
> employeeForm.setDepartment("2");
> 
> Shouldn't you instead set the default department selection in the
> form reset() method? 

I initially I did have that in the reset method, but then I wanted to
show how you could use a SetUpAction to set up stuff in your bean if you
wanted to. I also was lazy and didn't feel like explaining the reset
method:)... you're right though I should have probably just kept it
there.
 
> In regards to the discussion on using Tokens for the forward mapping
> keys (such as "success" and "continue") you may also want to note
> that doing so allows you to have two tokens point to the same
> definition.  In short
> 
> Tokens.SUCCESS_KEY = "success";
> 
> Tokens.CONTINUE_KEY = "success";
> 
> So you can really play with the means of your Action class without
> having to bother the Action class.  In short the action class
> shouldn't really care what view is choosen or its meaning, it just
> deals with the general workflow, such as
> 
> success
> failure
> continue
> redo

sigh, yea, the more I think about it I actually really should just use
constants there and I'll include your explanation. I'm pissed I didn't
include it from the start.


Thanks for the comments and suggestions. I appreciate it.
 
-- 
Rick Reumann

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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Dan Allen <da...@mojavelinux.com>.
Two more comments:

In the second tutorial, you are preparing the employeeForm using the
SetUpEmployeeAction.  In doing so, you run

employeeForm.setDepartment("2");

Shouldn't you instead set the default department selection in the
form reset() method?  Naturally the reset() method is the incorrect
place to populate the options, but it is a good place to define
which one will be selected by default.

In regards to the discussion on using Tokens for the forward mapping
keys (such as "success" and "continue") you may also want to note
that doing so allows you to have two tokens point to the same
definition.  In short

Tokens.SUCCESS_KEY = "success";

Tokens.CONTINUE_KEY = "success";

So you can really play with the means of your Action class without
having to bother the Action class.  In short the action class
shouldn't really care what view is choosen or its meaning, it just
deals with the general workflow, such as

success
failure
continue
redo

Dan

-- 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Daniel Allen, <da...@mojavelinux.com>
http://www.mojavelinux.com/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
"If you still don't like it, that's ok: that's why I'm boss. I 
simply know better than you do." 
 -- Linus Torvalds
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Rick Reumann <r...@reumann.net>.
On Thu, 13 Mar 2003 16:20:39 -0500
Rick Reumann <r...@reumann.net> wrote:

> Maybe you can post to the list
> and ask why? 
 
he he I thought I was replying to a personal e-mail and didn't realize
this went to the list... so I guess since it's now on the list...

Why doesn't the html-el tag have an action attribute? Is there something
that should be used instead?

-- 
Rick Reumann

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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Rick Reumann <r...@reumann.net>.
Sorry to take so long to get back to you. Thanks for the kind words. For
some reason I missed your email in the stack... comment below...

On Tue, 11 Mar 2003 17:49:34 -0600
Dan Allen <da...@mojavelinux.com> wrote:
 
> <html:link action="/setupEmployeeForm">Add Employee</html:link>

I wanted to use the html-el tags and for some reason html-el link
doesn't have an action for some reason. Maybe you can post to the list
and ask why? 
  
> The reason I say that is because new users need to grasp the concept
> that the URL is not actually a "page" but rather a server command,
> which is interpretted by the controller to be an Action followed by
> a View.  Also, it is good to keep any references to the action
> mapping patter out of the View so that if you need to change from
> 
> /do/* -> *.do

Good point, what should I use with the html-el tag to enable to define
an action though in the html-el:link which is what I'm using for the
lessons (I just call it html:link but it's using the html-el.tld).

Let me know if you have any suggestions.

-- 
Rick Reumann

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


Re: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Dan Allen <da...@mojavelinux.com>.
These tutorials rock, even for people that have been using struts
for a while.  Nothing beats reviewing concepts from the ground up
over and over. You always pick up something new.  That is why I love
reading linux tutorials even after 3 years of using it.

One suggesion:  In the first tutorial you make use of <html:link>
and explain its purpose, but you leave out using the "action"
attribute and substitute it for "page" instead.  I think it might be
better for the sake of the tutorial to make it

<html:link action="/setupEmployeeForm">Add Employee</html:link>

The reason I say that is because new users need to grasp the concept
that the URL is not actually a "page" but rather a server command,
which is interpretted by the controller to be an Action followed by
a View.  Also, it is good to keep any references to the action
mapping patter out of the View so that if you need to change from

/do/* -> *.do

you can do so by only updating your two configuration files (web.xml
and struts-config.xml) and not have to call up your JSP developer
and tell him that all action patterns need to be changed.

the "page" attribute should really only be used for assets, since
all jsp pages should be masked by an action anyway.

I hope you find my defense to be clear.  Please respond if you have
any objections/rebutals.

Thank you so very much. I will do my absolute best to try to donate
at least some portion of a tutorial once I get a few projects off my
plate here.

Dan

-- 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Daniel Allen, <da...@mojavelinux.com>
http://www.mojavelinux.com/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
umm... i guess this is my signature. 8-}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

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


RE: [ANN] Struttin' With Struts beta (newbies esp. welcome)

Posted by Robert Taylor <rt...@mulework.com>.
Good work Rick. I'm sure many users (new and not-so-new)
will greatly benefit from your efforts.

robert

> -----Original Message-----
> From: Rick Reumann [mailto:r@reumann.net]
> Sent: Tuesday, March 11, 2003 2:37 AM
> To: Struts Users Mailing List
> Subject: [ANN] Struttin' With Struts beta (newbies esp. welcome)
> 
> 
> I created a web site that walks new Struts users step by step
> through the development of three VERY simple web applications in three
> lessons. Each lesson adds a few more features so that they build upon
> each other yet each stands alone such that if you follow the steps in
> any lesson you'll have built a very basic application regardless of
> which lesson you start with.
> 
> I created these because there seemed to be lacking some more recent
> "walk through" Struts tutorials geared toward the very new Struts
> developer. I think real newbies will find them especially useful, but
> then again I could be way wrong:)
> 
> I'm considering the site a "beta" because I'm sure there will be some
> mistakes. If anyone sees something I'm doing in a lesson that is way
> off (or a very bad practice) please let me know. Some of the stuff I
> know could be done in a more "best practice" way, but for the sake of
> trying to also keep the lessons small and simple some ideas weren't
> included (ie- I didn't use a constants interface for my forward
> definitions).
> 
> If anyone wants to contribute, reword, or add anything please let me
> know. The site is there to help others. I got really lazy in a lot of
> places and didn't say much about certain things that I would have liked
> to. Hopefully over time the site will improve.
> 
> Struttin' with Struts:
> 
> http://www.reumann.net/do/struts/main
> 
> -- 
> Rick
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
> 

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