I had a situation where I had a list table with a multibox control and a
readonly version of the same list. I had to maintain the users selection
when the readonly was shown so I put this inplace:
Kinda the same thing but dynamic.
nested:iterate id=currentIndex
Or with out JSTL..
bean:define id=linkAction
/Delete.do?id=bean:write name=row property=id/
/bean:define
html:link action=%= linkAction %Delete/html:link
I use this all the time. Works well when done in moderation :-)
Wendy Smoak [EMAIL PROTECTED] on 03/24/2003 11:34:33 PM
Please
Netbeans 3.4.1 does a decent job of that, I have also tried Eclipse, but I
have since started looking at Intellij.
I am afraid to say that does the best job of any that I have seen with
struts and standard JSP and Java.
Tim Stadinski [EMAIL PROTECTED] on 03/26/2003 12:31:06 PM
Please
I came across this canada 411 site:
http://canada411.yellowpages.ca/
Robert McIntosh [EMAIL PROTECTED] on 03/14/2003 08:56:55 AM
Please respond to Struts Users Mailing List
[EMAIL PROTECTED]
To:Struts Users Mailing List [EMAIL PROTECTED]
cc:
Subject:Re: [FRIDAY] List of
I do not want to start yet another IDE debate but..
I currently enjoy the JSP editing support in Netbeans 3.4.1
ie: full code completion for custom tags ect.
But I am slowly moving to Eclipse for other reasons.
Is there a plugin that matches the JSP editor support found in Netbeans?
Thanks everyone, you saved me alot of time.
Brandon Goodin [EMAIL PROTECTED] on 03/12/2003 10:40:52 AM
Please respond to Struts Users Mailing List
[EMAIL PROTECTED]
To:Struts Users Mailing List [EMAIL PROTECTED]
cc:
Subject:RE: [OT]Best JSP plugin for eclipse..
ME TOO!
Thanks for the reply:
-- IMG Tag -
Thanks for the guideline on the use of the property property.
I really thought I covered the doc's but I guess that did not jump out at
me. Now that I look back, you clearly state it at the top of the API docs.
. The original tags on occasion
I Had read that Arron had submitted patches to the nested tags to allow the
upgrade to tomcat 4.1.x.
(I assume that the zip jakarta-struts-20030306 contains the nested fixes)
We are currently developing on TC4.04 with 1.1b2.
I dropped that latest binaries in and got several problems (compile
I handle this with mulitple mappings to the same loadAction.
The parameter is used to suppress parts of the load action.
/crApplicationLoad.do
and
/crApplicationLoadOnError.do
ie:
Two possible load mappings:
action path=/crApplicationLoad
scope=request
We still keep static lists in various scopes, but all of our pages are pre
populated with back end data so I needed a way to turn that off.
I found that this also helped me when I needed
to add stuff like a clear link that would reload previously saved data.
Rick Reumann [EMAIL
We did do the javascript thing on a non-struts project. The only reason it
was not so bad was because the js code was put put in one menu include that
contained
the links and that was that.
On our current struts project we use tokens in all our important actions
to take care of page re loads
Depending on the container, your groups and group memberships can be
dynamically mapped to roles, with declarative specification of what
resources can be accessed.
Is this the case with tomcat? I did not think so.
Our needs our very similar.
The users with a admin page that allows them to
I depends on how you got it onto your page. If you set the object inside
your form bean then simple dot notation
will work:
html:form
bean:write property=myContainerObj.prop1/
If you put the attribute into scope directly, then a bean defin tag will be
needed first.
Jason Vinson
Thank you so much for the reply.
We are still in construction and completed 3 of the 4 phases of our
project. System testing on phases 1to 3 begin soon.
We were hoping to start that process off on the newer tomcat but I guess
not at this time.
We will stick to 4.0.4 ... at least I can still
Thanks Becky.
So I guess the answer to my original question:
Is anyone using Tomcat 4.1.18 with Nested Tags is: No.
We have done some inital tests With JBoss/TC 4.0.6 and things seem OK.
Becky Norum [EMAIL PROTECTED] on 02/11/2003 01:49:25 PM
Please respond to Struts Users
We have been building an application on TC 4.0.4
we are trying to move up but are having some erratic problems.
some are related to my other
question:http://www.mail-archive.com/struts-user@jakarta.apache.org/msg58211.html
The first tests are done on JBoss/Tomcat but now I am testing it on TC
I have read a couple of posts regarding a situation where the nested tags
are calling properties on the wrong bean.
We are using a nightly build just after 1.1b2 and all seem to work fine.
Once we try b3 then we get the odd problem.
I have been using nested tags for all my pages without much
We just tried a recent build (feb 8/03) and the problem is the same... :-(
Any insight?
frustrating note
We are using jboss bundled with tomcat 4.0.6.
We see the speed increase with newer tomcat and would like to go higher
(4.1x)
We understand that to move to newer JBoss/Tomcat 4.1x we
I get these if I have not closed my tag's properly..
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
In agreement with Kris, I will elaborate.
In short I was able to avoid hard coding element names by passing in
control names.
The nested:writeNesting/ tag will generate a string that describe the
levels without the control name and
the nested:writeNesting property=XXX/ will give you the full
In agreement with Kris, I will elaborate.
In short I was able to avoid hard coding element names by passing in
control names.
The nested:writeNesting/ tag will generate a string that describe the
levels without the control name and
the nested:writeNesting property=XXX/ will give you the full
I got this from Ted's book:
The value attribute is the body of the tag. The label falls outside the
tag.
Assuming that the user will see Monday and the code will be Mon then
tdnested:multibox property
=dayStringsMon/nested:multiboxMonday/td
tdnested:multibox property
bean:define id=myValue name=bean property=property/
myTag id=%= myValue %/
you may also need to specify your type:
bean:define id=myValue name=bean property=property type
=java.lang.String/
Derek Shen [EMAIL PROTECTED] on 02/08/2003 04:24:08 PM
Please respond to Struts Users Mailing List
we use this:
document.onkeypress = documentKeypress;
function documentKeypress(e){
var key = general_getEventKeyCode(e);
if(key == 13){
search();//js action that calls document.formName.submit();
}
}
LUCERO,DENNIS (HP-Boise,ex1)
I am building a string made of 3 pieces of data that will be the label
section of a drop down box.(nexsted:optionsCollection)
The spaces that I am inserting between the data are of course getting
reduced to one.
When I try to insert the html entity (apersand,n,b,sp) it gets filtered
and
Thank for the reply.
I should have tried a bit more before mailing but the panic of construction
deadlines..
You are right about the filter attribute being present.
I should have been clearer that I was using nested Tags, and that is where
the problem is.
I converted this: ( the exception
Yes. That is what we do.
It is a bit if a balancing act but if the whole form becomes readonly then
we have a readonly version with just bean write tags.
The Tiles library helps out alot here.
As for level switching, we use logic equals that looks at a boolean field
set by the loading action.
David says:
One implementation that should work based on your example
as long as you are willing to create a child factory is in the commons
collection package and is ListUtils.lazyList, which takes a List and
factory.
I have used this as well, in combination with the nested tag library.
We have
Greetings:
I am forced to do much of this type of code in Java script:
document.customerForm.submit();
of course the name: customerForm is found in the mapping config file.
I would like to make it so that my javascript does not break if the name of the form
bean
changes in the config file.
I am sad.
--
To unsubscribe, e-mail: mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Can anyone remember back to the *old days* WLS5.1 sp1 ?
If so how successful was anyone in running a standard web application *as
defined by servlet spec 2.2*.
The reason I ask is that we have an application that has been developed on
wls5.1 using wls specific (non-portable) methods
ie: property
I do this often and it works well.
The only thing I always forget to do if initialize the Vo
Ensure this is done in the form Bean:
MyValueObject myVo = new MyValueObject();
Hope this helps.
Pat Quinn [EMAIL PROTECTED] on 12/03/2002 05:23:05 AM
Please respond to Struts Users Mailing List
Thank you, that makes things clearer.
Arron Bates wrote:
The nested tags have an esoteric following (that I know of), no-one on
this list goes out the their way to recommend them outside of the old
list in lists problem, whatever (I'm curious to see if they even get a
mention in any of these
Thanks for the reply:
It is inside a nested form but I am getting these values by setting to page
scope.
The nested iterate has no problem reading the collection. The problem is
the equal and write tag *inside* the iterate. They only work
if I change them to their non nested versions and
Thank you for reminding me of that link. I tried ./value and this/value
without success.
Even though I use the nested:form as the root..for this iterate tag I
want to tell it to look to
an object in page scope instead of the form bean. That is what I thought
the combinations of name and
Thanks again for all the help.
I guess I need to take a step back,
because we are in active development, I will go with what works, even
though I do not fully understand why :-)
Sri Sankaran [EMAIL PROTECTED] on 11/27/2002 10:43:44 AM
Please respond to Struts Users Mailing List
On an interesting note, we had to do alot of this as well where the
variable came from another tag(s).
I stumbled across this: I found it a bit cleaner
bean:define id=onchangeCall function('1','2','nested:write property
=someProp/')/bean:define
nested:text onchange=%=onchangeCall% /
*** Though
Greetings:
All I am trying to do is display a a selected item form a list.
- pageList is standard java.util.List of LabelValueBeans set in page
scope.
- cc is a String pulled out of the form bean and set to page scope.
Using the nested tags my first approach was this:
nested:iterate
*** MS Visio **
Bubbles, Boxes and Arrows. and whatever else..
I am interested in this tool:
http://www.alien-factory.co.uk/struts/struts-index.html
It allows you generate config files from the diagrams as well as reverse engineer your
existing config files.
I have not actually used it
I am curious about how the nested taglib fits into this discussion.
I have been using the nested tags for just about all my forms and logic
tags.
Do JSTL tags have the capability as nested tags?
Thanks
David Graham [EMAIL PROTECTED] on 11/20/2002 01:37:27 PM
Please respond to Struts Users
Greeting:
I am in the process of adding my exception handling via the declarative
feature in 1.1.
By using this feature I am losing some compile time type checking.
I was wondering if a utility exists that will parse the various config
files and verify the declared data within.
It seems that
We are using tiles in this way without any problems.
We are using the tile-definition.xml
.
put name=mainContent value=/WEB-INF/customer/form/CustomerHistoryForm.jsp /
In addition, style sheets and inages work well with the rewrite tag.
Wendy Smoak [EMAIL PROTECTED] on 11/19/2002
Greetings:
I am using 1.1b2
I am just starting the process of dealing the exception handling in our
project.
I am plowing through Ted's and Chuck books and have several questions.
We have come up with these requirements:
1 - All exceptions must be logged. ( we are using log4j directly, not
Greetings:
We have no problems with our jsp files under web-inf and our style
sheets in the public area.
Though I think you should be using the rewrite tag
LINK rel=stylesheet type=text/css href=html:rewrite
page='/css/pageStyle.css'/
we do the same thing with javascript:
SCRIPT
My preferences gears toward Tiles for flexibilities and re-usable View
components
Out weight the performance issue.
outburst
Tiles Kick Ass!
/outburst
:-)
Trieu, Danny [EMAIL PROTECTED] on 11/07/2002 11:16:34 AM
Please respond to Struts Users Mailing List
[EMAIL PROTECTED]
To:
We have a form with a list of two side by side lists. Each list is included
and within each jsp:include we iterate through another list.
I did not try this with tiles, but I think the idea of html form tags inside other
includes was solved for us with nested tags.
Our main form is:
nested:form
I am using 1.1b2/tomcat 4.0.4
When trying to use the tag attribute styleId withing the nested:hidden tag
I get the following error:
...Attribute styleId invalid according to the specified TLD.
This error is quite clear. I guess I just wonder why.
The nested docs for the nested:hidden tag will
http://www.manning.com/ebook_buy.html?project=husted
--
To unsubscribe, e-mail: mailto:struts-user-unsubscribe;jakarta.apache.org
For additional commands, e-mail: mailto:struts-user-help;jakarta.apache.org
Here is what we had to do. I would love opinions to know if I am on the
right track.
In our BaseAction we have a helper method that looks for ActionErrors in
request scope (with the Struts Key):
protected boolean isValErrorsPresent(HttpServletRequest request){
ActionErrors errors =
I have converted most of my developing application to Tiles with great
success, but I have just found a error that I hope somone
could help me with. It apears to me to be a bug because I think I have it
configured properly.
I am using 1.1b2 with tomcat 4.0.4
Most of my pages will extend one
I found this helpful as well
Sample chapter on tiles from Ted's up coming book
http://www.manning.com/getpage.html?project=hustedfilename=chapters.html
Marcus Biel [EMAIL PROTECTED] on 10/29/2002 05:11:26 AM
Please respond to Struts Users Mailing List
[EMAIL PROTECTED]
To:
Greetings:
I know this is done many times before.
My requirement is to display a list of records where one of the columns is
text box.
The actual datastructure is a list of dual lists..
I have a List of wrapper objects that each contains two Lists.
The internal list are value objects with non
Greetings:
I am almost exclusively using nested tags.
Every now and then I run into a problem and have to switch over the
corresponding logic or bean version.
Can anyony tell me if this is a bug? I am using 1.1b2
I tried this with nested:equal but got a NullPointerException (listed
No I have not.
I could be wrong but I am under the assumptiion that the name attribute is
used to look for a bean.
The documents state that the nested versions of the tags will work the same
but allow you exclude specific references to parent tags.
I have done this many times:
logic:iterate
Sorry for the lame html question, but I would like tap into the vast
experience in this list.
Is there a performance consideration when linking to external files (css or
javascript )that may not always needed for each page.
I was told to watch out for this.
The reason I ask is that I am setting
Thanks guy's.
Thats what I thought. I will continue that way I planned.
[EMAIL PROTECTED] on 10/25/2002 03:16:36 PM
Please respond to Struts Users Mailing List
[EMAIL PROTECTED]
To:[EMAIL PROTECTED]
cc:
Subject:[OT] HTML Performance question
Sorry for the lame html
sorry, I should have known that. I have run into that as well.
Here is an example of something I do when iterating throught a list.
The bean define takes it's body a assigns it to the id variable.
td
bean:define id=papAmtBlur
papAmountLeave('nested:writeNesting
Sorry for the dumb question and another thread on nightly builds
Do the nighlty builds reflect the up comming release candidate for 1.1 (or
1.1b3) or
are they a separate branch for a future release.
I am hearing about new functionality in the nightly builds.
I would consider trying a
Thank you. That is what I wanted to hear.
What would be the recommendation for the latest 'stable' build.
I know this is based on the experience of those who tried the builds, but
any opinions would be helpful.
Thanks again
Eddie Bush [EMAIL PROTECTED] on 10/23/2002 12:20:45 PM
Please
Cedric,Marc:
Thank you for your replies.
I should have been more clear about paramater passing.
I guess my question is, can I pass the jsp include and a parameter
from the tiles-def file.
Cedric, at first glance it appears that I would place this in a jsp
and not the in
Thank you very much!
I should have tried ?targetAction=/updateCust.do last night (it was late).
I know that passing parameters in like this is not the best way,
but this means that I can convert my existing pages without altering the
internal code.
Thanks again.
Cedric Dumoulin [EMAIL
Try:
logic:iterate id=employee name=employeeList scope=request type
=com.abc.EmployeeVO ...
td
html:link href=JavaScript:void() onclick=openModal('/editSalary.do?%
= employee.getId() %')img src=common/images/edit.gif width=9
height=18 border=0 alt=edit/html:link
/td
/logic:iterate
We use pre-actions for all of our pages.
I too would like more examples of this type of thing.
I can't say if this is the best way or not, but we are in mid construction
of out first Struts app and have have found that certain situations keep
appearing.
Most of our pages look like the Master-
Greetings:
I am in the early stages of converting some of my page to use tiles
framework.
I am hoping that the conversion will go smooth as many of my pages
are build with reusable includes,
however I have the several jsp:include files that depend on an input
parameter.
I
Greetings:
I am just starting to use this Class from commons.collections jar
that is in Struts 1.1b2 ( I am using tomcat 4.04)
I have several questions...
1- Is there anyone out there using this collection that can share some
insight?
2 - There was talk of a tutorial regarding this
I managed to make my issues go away by replacing my
commons-collections(2.0) jar with the Release Candidate 2.1 version.
It also seems that some of the functionality of LazyCollections has been
absorbed into ListUtils.
so I replaced
private List papVoList = LazyCollections.lazyList(new
I am using 1.1b2
I have searched for this question but have found many similar questions but
no satisfactory answer.
It appears that using :
MessageResources msg = this.getServlet().getResources()
inside the action for will work, but it is deprecated.
What is the cleanest way to do this?
I am
Well ...yes I have, and I hope I am missing something simple :-/
From the ActionFormI can get the ActionServlet but I no longer can the
MessageResources from the ActionServlet.
It states to use the Action.getResources().
Do I need to get a handle in the action in order to call getResources()
I have a similar questions, but it is my understanding that the formatting
capabilities of the write tags revolve around the formatting objects
extend java.text.Format. Among them ar DateFormat,DecimalFormat ect.
Of course I could be wrong :-)
I would love it if someone could step in and
Thanks for the reply.
I agree with your analogy, but I would like to do some date validation in
the forms validate method like this:
if(!ValUtils.isDate(this.papDate,dd-MMM-yy)){
errors.add(papDate, new ActionError(validation.field.shortDate,
PAP Date));
}
we use the key:
I am running on Struts 1.1b2 and Tomcat 4.04
I have provided a self contained JSP page that defines two objects and creates a list
of lists and iterates though them three ways.
first by standard java, then logic:iterate tags and finally with nested tags.
My preference would be to use the nested
I was wondering something similar myself. I will need to dynamically
generate javascript control names.
It seems that nested:writeNesting property=controlName/ will produce
the full nested control name.
Is this the intented purpose of this tag?
[EMAIL PROTECTED] on 10/15/2002
could someone please point me to the best method of searching:
http://www.mail-archive.com/struts-user@jakarta.apache.org/
This archive as stated does not support Boolean and so forth..
(It is frustrating when a search in *nested:iterate* returns 0 results but
*nested iterate* will return huge
Kevin,Sri and Melissa:
Thank you for the constructive answers.
It seems that the apache site provides what I want.
Thanks again.
Galbreath, Mark [EMAIL PROTECTED] on 10/10/2002 09:07:43 AM
Please respond to Struts Users Mailing List
[EMAIL PROTECTED]
To:'Struts Users
We are using tomcat 4.04 and have tried 4.1.12 with out problems.
When I drop my working Struts app into Resin 2.1.5 it seems that it does
not keep the session.
(I can login, place a user bean in session then the next action looks for
that bean and when null, kicks us of the app)
I have not
Some how I assume that you did not need to configure each webapp in the
conf file. (I guess I am just lazy).
Anyway I noticed that the default web app had the session settings so I
just copied the default web app and named it to our app.
This worked and it does appear faster than even tomcat
Just to close this topic, the problem I described seemed to go away when I
upgraded to 1.1b2.
I guess it was about time anyway... :o)
--
To unsubscribe, e-mail: mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Sorry I should have mentioned it. I am using Tomcat 4.04/JBoss3.0 for
this test.
We are also planning to move to tomcat 4.1.12 asap.
[EMAIL PROTECTED] (David M. Karr) on 10/06/2002 04:24:25 PM
Please respond to Struts Users Mailing List
[EMAIL PROTECTED]
To:[EMAIL PROTECTED]
I am using 1.1b1
Summary: I cannot make use of the indexId reference in side a java method, unless I
specify an id=XX attribute.
The funny thing is that the id attribute can be named anything.
I have been coding my list in this manner for some time without problems.
I am using the
We have done alot of this and have tried many things.
In our case, If possible all of our static lists (provinces ect) are loaded
at application startup and put into application scope.
The plug-in's are great for this but there are many other ways.
If the lists are User specific, they go into
I use these in many of my action declarations.
exception key=error.contact
path=/error/PageLoadError.jsp
type=com.nlg.ar.common.exception.CustomerException/
Is there a way to insert an argument like we do in ActionMessage(my.key,arg1)
I have searched and
If you are using Struts 1.1 then you can use the formatKey attribute of the
tag
formatKey=format.date.long
with a key in you properties file as such: format.date.long= d,
** I think this only works if you are putting Date or Timestamp to the page.
If not 1.1 then I guess you
If yor page is blank it is usually because an exception has been thrown.
Check your server log.
In our case our value objects have Date or Timestamp. Often we will also
put the value object in the form bean and put the value out when
using the bean:write tag:
bean:write name=myForm
I am making use of the Declarative Exceptions at the action level as
such..
exception
key=error.data.page
path=/error/CustomerError.jsp
type=com.nlg.ar.common.exception.CustomerException/
In this situation, is it possible to gain access to the actual thrown exception within
Greetings:
I would like to get an opinion on the preferred placement of code
between Actions and Business delegate methods.
Chucks book suggests that you might want to use a business interface for
your session facade and a client specific interface for the Business
Delegate
object. I like
As this book is now available from amazon , can anyone provide a review?
Will it fit with Chucks and Ted's on the same shelf? Should I wait?
--
To unsubscribe, e-mail: mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]
This works for us in NS6.2 and IE
head
script
function submitForm(){
document.forms[0].submit();
}
/script
/head
body onload=setTimeout('submitForm()',1000)
Eddie Bush [EMAIL PROTECTED] on 09/05/2002 03:12:34 PM
Please respond to Struts Users Mailing List
[EMAIL PROTECTED]
To:
Can we have a [Mark] tag added?
+1
[EMAIL PROTECTED] on 08/29/2002 01:23:43 PM
Please respond to Struts Users Mailing List
[EMAIL PROTECTED]
To:[EMAIL PROTECTED]
cc:
Subject:RE: [BEER] Is it Friday Yet?
Can we have a [Mark] tag added?
-Original Message-
From:
I asked a similar question yesterday.
see:
http://www.mail-archive.com/struts-user@jakarta.apache.org/msg39132.html
I ended up wrapping the Hashmap
Test class:
--
public class HashWrapper implements java.io.Serializable {
java.util.HashMap map = new java.util.HashMap();
Test class:
--
public class HashWrapper implements java.io.Serializable {
java.util.HashMap map = new java.util.HashMap();
public HashWrapper() {
map.put(item1, H);
map.put(item2, E);
map.put(item3, I);
}
public String getItem(String
I am hoping that someone could point me in the right direction.
I have been searching the archives and have not come accross anything that
I can relate to.
Using the equal tags, what is the best way to compare a value retieved from
a Hashmap?
I would like to put a Hashmap (or similar) into
I think with Hashmap you just need key or value, so where you have
property=mapkey1 change to key or value
I am a bit confused ,I will clarify..
Aa an eample, in my loadAction:
Map myMap = new Map();
myMap.put(item1,X);
myMap.put(item2,Y);
request.setAttrite(infoObject,myMap);
In my Page:
Two questions:
1 - In our situation we will be getting a *result* object with an
internal list from the backend that is similar to the MonkeyBean.
I would NOT be able to change it's implementation (ie:adding
LazyCollections) . How could I achieve the same thing? Would I need to
I have been enjoying the review chapters as each have been released.
Given the message on Theserverside:
Note: All review chapters have been posted. The review process ends July
31, 2002
Are the chapters posted the only ones that will make it into the book?
It will be a great book either way,
I have found that it works well. If you right click on the struts.jar and
update the parser database it should do what you need.
--
To unsubscribe, e-mail: mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Greetings:
I know there is much discussion of dynamic forwarding on this list.
My searching has not produced a definitive answer though.
In our project, for various reasons, we will by using javascript to make a
few decisions before a submit happens. The are several Action classes
that I
Greetings:
Assuming That I do not want to use another tag lib at this point, how have
others performed this type of thing:
Simple Problem:
I need to have today's date on every page. I would like to the format
attribute in the bean:write tag
to go from this:
% java.util.Date
I would like some clarification, Here is what I think I understand
With pre 1.1, if you wanted to perform a task for every action/page your choices
were to override the Action servlet or subclass the Action
and define an abstract myPerform() method. The parent class would perform
common
This is our *FIRST* Struts project and we are putting together a construction
plan.
I would like to find out how other projects divide the work between developers.
Our project management would like to see a developer pump out a list(s) of
disconnected components and have one person connect
I think I understand the principals behind the validation module and hope to be
using it a prototype very soon (1.1b).
I like how it manages a javascript library.
I do have a question though.
Question:
Is it wise to mix other javascript related functions that may need to use the
same
1 - 100 of 146 matches
Mail list logo