Can someone tell me why this doesn't work? Is this a bug?
Here's my setup:
1) My controller is setup to treat input attributes as forwards.
controller ... inputForward=true /
2) I have a global exception which goes to my inputError path.
global-exceptions
exception ...
I found my problem. I was treating path as if it was a forward.
Too bad exceptions don't have those.
--- Paul Benedict wrote:
Can someone tell me why this doesn't work? Is this a bug?
Here's my setup:
1) My controller is setup to treat input attributes as forwards.
controller
Chaudhary,
You need a custom validation key for each step in the process.
Override the form's validate() and create a key. Then you should
modify your validation.xml to run validations just for that step.
Paul
--- Chaudhary, Harsh [EMAIL PROTECTED] wrote:
Now that I think about it, my
Dispatch.do which
forwards to an action like clientaValidation.do which runs the
validations and then calls the next forward.
Terrible design but this is in response to a change in our codebase
which kind of messed things up a bit.
Harsh.
-Original Message-
From: Paul Benedict [mailto
This topic has become stale, in my opinion, and I do not understand
why people continue to participate in it. When people attempt to have
a successful discussion, there is usually a goal to attain, but I am
unable to discern what serious goal there is in telling the commiters they
are, in so many
About a year ago, some articles came out toutting how great IE
was compared to Firefox because Firefox 1.0ish, would crash during
some very bad malformed HTML, but IE would not. You're not using
Mozilla, but perhaps IE is crashing due to bad markup? Check it out.
When these kind of things
Sorry Jonathan this is happening to you. It's really inappropriate
what was done. If somebody doesn't like you or your opinions, this
isn't a way to treat another person regardless, if this is really a spoof.
But you did come down hard on some people and I think, while it is
no excuse to the
+1 with Frank and Craig. Unless you need to have your viewpoint
continuously heard in public, some of the latter postings can be
shared privately. Most of it was good, and I think it generated
much good; thanks for sharing.
--- Frank W. Zammetti [EMAIL PROTECTED] wrote:
Craig McClanahan
I believe the user group is for user questions about Struts;
if I had to pick a place for questions like these, they really
belong on the dev list so the casual user isn't loaded down
with internal disputations and disagreements.
--- Jonathan Revusky [EMAIL PROTECTED] wrote:
Craig McClanahan
Johnathan,
I am going to eat my own advice. I am going to respond
to this privately :) Expect an email soon.
Paul
--- Jonathan Revusky [EMAIL PROTECTED] wrote:
Paul Benedict wrote:
+1 with Frank and Craig. Unless you need to have your viewpoint
continuously heard in public, some
it failed. To suggest otherwise is either disingenuous or facist or both.
On 3/25/06, Paul Benedict [EMAIL PROTECTED] wrote:
Johnathan,
I am going to eat my own advice. I am going to respond
to this privately :) Expect an email soon.
Paul
--- Jonathan Revusky [EMAIL PROTECTED
You have two options:
1) Do not use roles. It is coded with mere functionality to return
a 403 if the role is not there. Instead check the role explicity in the
action and do what you want.
2) Use web.xml to handle the error codes. You can configure your
application to take action on certain
I think that any project has to have some coherent message ...
to have such an incoherent message due to this Action/Shale
bifurcation seems very negative. It just seems complicated and
confused.
Jonathan, I whole heartedly agree. I do not know who came up with the idea
that Struts is now
Ted's central principle that darwin decides
This is a false principle in the terms of software development.
You don't have blind forces assembling the source code of Struts,
but real living people who can see what people want and choose
to write a solution for it. People decide in ASF, not
I believe Dakota is correct in this area. The problem is not
with JSF itself, but the way the Struts team has divided itself
into competing camps. JSF and Struts are competing because their
approaches are orthogonal; it doesn't make any sense to do both
unless you are on a migration path.
When
Try replacing your jar file. This is a long shot, but when I had
these before I think the jar got corrupted. It's probably looking
for the DTD on the internet because it can find them on your computer.
You can always put the DTD's in the WEB-INF root, but you shouldn't
since Tomcat 5 should find
Niall wrote:
Its all those businesses that have taken and
given nothing back - the silent majority.
I am tired debating the philosophy of Struts; it doesn't
produce any results. :) After reading Niall's elegant answer,
I believe the best way of making my voice heard is
through contributions
I totally agree with Rod Johnson! I don't know why so many people
are quiet about this topic when the truth of Shale is obvious
to anyone who paid attention to these boards, and the number of
commits that go into Shale vs. Struts. I've voiced this before,
but I usually don't get good reception. I
has got to
be viewed as a positive. You won't catch me jumping on the bandwagon
any time soon, but nor will I bid it a premature goodbye. I'll wait and
see, even though it's been this way for a while now.
Frank
Hey Nony Moose wrote:
Paul Benedict wrote:
... I am truly happy
Ted, your logic is direct and understandable. I know you've
expressed this same feedback before, but it doesn't
address the concerns of those who are concerned
with the Name of Struts. I know your focus is on the people,
the problem solving, etc. (and thank you for it), but what
is the NEED to
All, I made a foolish error. I apologize:
I am glad++ Rod Johnson said something similar
because it validates++ my concern.
Rod Johnson said nothing of the sort. I did not catch
Dakota's comments interspersed between quotes. This is totally
*my* fault. My apologies to him and others. Strike
Joe, override the unspecified method. That method
is invoked whenever the dispatch cannot be resolved.
--- Joe Mun [EMAIL PROTECTED] wrote:
Using DispatchAction, if a non-existent method name is
passed, a java.lang.NoSuchMethodException is thrown.
How (and where) can I catch (and ignore)
It sounds like it is time you move to the Spring Framework.
[1] Do not allow your DAO to manage transactions.
[2] Transactions are managed by manager proxies.
[3] Transaction Managers are configured to say which methods start a
transaction.
[4] Transaction Managers are smart enough to know,
Spring can give you method-level security if you're interested in it.
http://acegisecurity.org/
It will use AOP to proxy your classes and make sure any thread has the proper
credentials to
access your code.
Paul
__
Do You Yahoo!?
Tired of spam?
I was looking through the No Fluff Just Stuff session highlights. It looks
pretty cool, but then I
came across the synoposis for Struts Shale... Hmmm... I have to say, the
wording was pretty
surprising and -- almost provoking? I'd like to hear other people's thoughts
just for fun. I don't
Tom,
Your expectation is incorrect. The form is always populated. The
cancellation doesn't cancel the population, but cancels the validation.
There has been lengthy discussions about this. Feel free to sign up to
bugzilla and vote this in the 1.2 branch:
When struts auto populates the form, does it look for set methods? And does it
check that the methods are public? For instance, if the foo parameter comes
in and my setFoo method is protected or private, will it ignore it?
Paul
-
Brings
Make sure you're using the right validator class. The ValidatorForm keys off
the formname,
ValidatorActionForm keys off the action name. This has happened to me before.
Also make sure your
properties are named the same.
Paul
__
Do You Yahoo!?
The validation can silently fail if it is not configured correctly. Make sure
you have the plug-in correctly configured with the 2 validation files -- one
for the validators and the other your validation forms.
Also if you upgraded to a new version of Validator your validator
I am not saying this is your problem, but I've had times where jar files get
seemingly corrupted for no reason. I haven't figured out why but at least
twice a year a JAR file just dies on me. Try reinstalling Struts and copy the
default validation files out and start from there.
Paul
Make your input=something.jsp
-
What are the most popular cars? Find out at Yahoo! Autos
This is awesome!!! Since Struts doesn't have portlet support, using JSP to
emulate it is second to none. Portlets are nothing but a subset of the servlet
request anyway, so you're doing some great work.
I'd like to see an example where you connect this all up to Struts.
Paul
It must be the query parameters you stuck in the action name. I never seen that
before. Turn those
into html hidden fields and try again?
--- Karthik Manimaran [EMAIL PROTECTED] wrote:
The bean property however is getting printed when jsp tags are used as
shown below. But html:text tag
Quick summary:
span is for inline content.
The CSS behind it is: display: inline;
div is for block content.
The CSS behind it is: display: block;
Paul
__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
If everyone used dispatch-type Actions, I would disagree because then it
would just be a matter
of providing a cancel() method and making sure that got called.
There's actually a funny bug here. cancel() method ALWAYS gets called in a
dispatch action BUT
it's default behavior is to return
Cancelable Actions (independently on the Action type: normal Actions,
DispatchActions) could
even implement a Cancelable interface with a cancel method.
Tamas, good one. I thought of this too but never mentioned it because
implementing interfaces
doesn't seem too cool/accepted in the Struts
(Some of?) the DispactAction variants dispatch to a special method and aren't
subject to the
consequences listed above, but most action implementations don't.
Rick, let me correct something here:
The DispatchAction variants are also subject to the problem with
validate=true WHEN there is no
Laurie, one thing to correct:
Issue: addition of a 'org.apache.struts.action.CANCEL' parameter to any request
will cause
validation to be skipped, but the rest of the request processing / action
invocation cycle to
proceed normally
Should read:
Issue: addition of a
Aladin,
You cannot nest JSP tags inside JSP tag attributes. Split them up:
JSP 1.2:
tiles:useAttribute name=crumbTitleKey id=someid /
presentation:crumb key=%=someid% ../
JSP 2.0:
tiles:importAttribute name=crumbTitleKey /
presentation:crumb key=${crumbTitleKey} ../
Paul
Rick,
I don't do any business validation with the Validator; I just make sure I get
proper data formats
so that everything is in proper format when going into the service layers. I
want XYZ to be
integers and ABC to be strings.
Paul
__
Do You
Rick,
It's a security risk because you're allowing in non-validated data. You could
pass in good data,
bad data, malicious data, etc. You could pass in a string that's a million
characters to your
database, perhaps characters that will appear in SQL, wrong ranges of numbers,
constantly causing
David, I am not sure what the problem is. How is this any different than LTR
text? You could use
c:out escapeXml=false so you don't have to escape anything.
__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
If you're using a real CSS2 browser like Firefox, you can use CSS to enlarge
fonts for the
language you specify:
span[lang='he'] {
font-size: 120%;
}
or maybe something as simple as:
span.rtl {
font-size: 120%;
}
That means you should output span class=rtl.../span
PS: Good idea with the tag
I'd like to know if this is considered a security hole to other people besides
me. I saved an
email off this group back in July and finally went back to investigate it:
It seems that every action in Struts is cancellable, which means for Struts
actions that do not
religiously check for
I want to correct a statement here. What can be passed in is
org.apache.struts.taglib.html.CANCEL or
org.apache.struts.taglib.html.CANCEL.X which will set
the cancelled flag.
__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam
Frank,
Good response. Let me add some to it:
The problem isn't that Struts allows the user to cancel an action, but that
EVERY action can be
cancelled.
This problem is heavily felt by GET requests because URLs are easy to mangle...
and parameters can
be added ad-hoc. I can take any action I
Hmm, maybe I don't understand the problem... as I understand it, cancel
essentially has no
effect on anything in Struts unless you manually check for it and act
accordingly, correct? Or
are you saying that everything happens *except* validation?
Correct. Cancel has no effect unless you
Frank,
I am getting your emails delivered twice to the list today. Are you click happy
today? :) haha
Maybe mine are getting delivered twice; please tell me if so.
As for the bug/issue, I mainly use MappingDispatchAction and so there's no
reason to specifically
code for isCancelled() BUT I
Arguably, by default you would want to say that all Actions are either
cancelable or not,
rather than having to set something on all mappings. Just my superficial
thinking about it though
:)
Agreed. That's why I recommend a controller property default with overrides
at the action
level.
Rick,
I think my concern is valid. I am sorry you don't find this a big deal but I
wonder how many
sites actually use validation to make sure they defend against bad input, only
to find out I can
pass in a request paramter to simply skip their checking. I mean, that's a
pretty big deal in my
Rick you said:
I must still be missing something.. what is the big deal here? If you don't
code to handle the
cancel nothing serious can happen, and if you do code for a cancel, what's the
worst case
scenario?
Yes, you are missing something :) If you don't code the cancel, then your
action
I can't think of a good reason it wouldn't call validate() too, like any
other request, just
because the action was canceled. Like I said, maybe someone can come up with a
reasonable
explanation for that behavior, but I can't see it :)
There is a legitimate case: when an form can be cancelled,
What's the best way to accomplish this? I really dislike using the button text
to find the correct
dispatch so I don't want to use LookupDispatchAction. Is there another way,
such as using the
button's name to invoke the correct method? I thought I saw such a proposal in
the API docs but I
can
Laurie,
I thought I saw a version of dispatchaction that could handle this. The
parameter attribute
contained a comma-delimited list of possible names and thus methods which could
be invoked for the
particular action. Do you remember this proposal?
Paul
Hakan,
You need to store the error messages in the request or session after you
retrieve them:
ActionErrors errors = form.validate();
if ((errors != null) !errors.isEmpty()) {
saveErrors(request, errors);
return mapping.getInputForward();
}
Paul
I am going to ask a related question... so take your best shot :-)
I have an edit form in which I have to load a list from the database. The list
is actually based
on locale. What's the best solution here? I am using real action forms - not
that dynafluff stuff
;) Is it to simply make my form
I would use the Request for such a List and wouldn't even bother putting it
in the ActionForm
But that of course doesn't make the list persist. Most frameworks heavily rely
on the user session
and I am now a strong believer that's the better way of doing things. I wonder
if allowing the
ActionForm should be removed from session manually, this is the price to pay.
I thought about
automating this, but Hubert pointed out that a user can open several browser
windows for one app,
so I gave up on this.
One of the biggest concerns I had too was that using the session means only one
Neils,
The only thing in common between request 1 and request 2 is the user session.
If you want
something to persist between requests, place it in the session; then clean the
session when
finished.
Paul
__
Do You Yahoo!?
Tired of spam? Yahoo!
it should be an URL and patch it up (like 'www.google.com' into
'http://www.google.com/').
This is a bug which was fixed in Struts 1.2.8 by upgrading to commons validator
1.1.4.
Paul
__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best
I am glad you found the LazyDynaBeanForm. I hope it suits your needs.
__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
-
To
John Lovitz.. gotta love it.
__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
Rick,
Do you control the requirements? It's going to be an ugly screen with that :)
Web applications
should be concerned with doing one unit of task at a time, if possible, because
it does simplfy
development and help the user focus on what needs to be typed.
Still, I don't see this problem as
Rick,
It sounds like to me you are suggesting that we'd create a brand new Player
object that had
some String properties in it.
I am not suggestign you create a new business object. I am suggesting you
create a new object for
input purposes. You need a transport layer between your model and
Action Forms are DTO objects. They are not your model/domain/business objects.
Struts is the only
framework (historical design) that forces you to use String objects in the
Form/DTO, but that's
not a bad thing. It's a container to accept user input, which is all from the
Internet transmitted
as
Dakota,
Last week, I wrote about three messages voicing my opinon that I think it is an
error to accept
Shale under the Struts banner. I still hold that to be true, but I also see the
justification of
the commiters, which are:
[1] Struts is now an umbrella label to contain MANY frameworks. As
I'm concerned with having to deal with that limitation then how DO you deal
with the
'model/domain/business' objects that do need to get populated? Sure in a
simple form it's easy,
but real life is a different story. Many times you get back objects that are
nested in
Collections...
As I
Rick,
I just hope you're not making the situation more complicated than it needs to
be. If I have to
display a 2D list of items (like say a table), I may be using a DTO which has
multiple properties.
These are all strings.
I only found nested objects to be complex when I tried to make them
I want to add one thing to Raghu's advice:
You only need String-only DTOs at the form layer for INPUT variables only.
Anything you retrieved
from the business layer can be stuck in the request as it is for display
purposes, or attached
right to the form. You may want something like this in your
Postback actions - nothing fancy. It's simply that if you specify the name of
the action, it uses
the one from the last request.
--- Michael Jouravlev [EMAIL PROTECTED] wrote:
On 12/14/05, Martin Cooper [EMAIL PROTECTED] wrote:
The Struts Action Framework 1.3.0 release will include several
If you setSecure(true), the cookie will ONLY be available through HTTPS.
__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
-
For developers, I suggest looking into this proposed enhancement. Instead of
duplicating the path
again in the forward, you can forward to actions. Please vote for this if you
think it is
valuable; perhaps it will make it into future versions of 1.3 or 1.4.
Hm. Is it untidy that the Apache Software foundation has at least three web
application
frameworks? Should they be untethered from the Apache name and allowed to ride
off... ? For that
matter, why does Apache clutter itself with anything other than the original
httpd?
Joe, I like your
That's not true; there are other committers who have done work under Shale.
This is probably my fault, but that's not what I meant. :) When I said it has
nothing to do with
the Struts community, minus the creator, I am not talking about the people,
but the architecture.
As far as I can tell,
I wonder if anyone has encountered this. This might be a bug (highly likely)
and I'd like to find
out.
The LocaleAction can receive a page parameter which redirects it to the
specified URL after
setting the locale. Well I made myself a DynaActionForm which contained this
parameter (along with
IMHO, I do not believe Shale should be under the Struts name. I really hope
Shale is not
piggy-backing off the good name of Struts so it gets adoption. I can't say
for sure, but I do
get that impression at times. I think it should be completely spun off and
disassociated from
Struts, or be
performance gains could be realized by using
iBATIS to provide data mapping and caching, and then optimizing the
database performance using stored procedures.
Larry
On 11/27/05, Paul Benedict [EMAIL PROTECTED] wrote:
If you have extremely high performance requirements, don't deal
I think I need to clarify:
I am not being unfair to Larry's point when I say JDBC is faster. You can't
build ontop of JDBC
and then be faster than what you built upon. Reflection is slower than normal
Java access - and if
I can find the stats I will show them.
With that said, IBATIS can be
A few, why?
__
Start your day with Yahoo! - Make it your home page!
http://www.yahoo.com/r/hs
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:
If a web app uses JDBC only, is the performance slower than Hibernate or
iBatis?
Pure JDBC is actually faster because there is no abstraction on top. IBATIS and
Hibernate (I use
both) rely on reflection to populate objects and reflection is 2x-10x slower
than direct Java
access. However, being
You could write your own JS validator. Why not? Then submit your enhancements
back to Struts for
all us to enjoy. :)
__
Yahoo! Music Unlimited
Access over 1 million songs. Try it free.
http://music.yahoo.com/unlimited/
IMHO, I do not think SSL switching belongs in the Struts framework. I think
most of the time the
correct place to put switching into SSL is in a servlet filter according to
some predefined path.
So if you forward from Struts to a particular location, a filter can then
redirect it to HTTPS.
But isn't it a bad idea to hard-code your path(s) that require SSL. What
happens if a decision
is made to change the action servlet's mapping from, say *.do to /servlet/*.
You would have to
remember to change the path(s) in the filter... Furthermore, what if you
change the name of the
action
That message means you have page in HTTPS but links on that page reffering to
(at least one) HTTP.
This is a problem if you have hardcoded the scheme into any of your links.
__
Yahoo! Mail - PC Magazine Editors' Choice 2005
OK.
I think I know what is going on here. For some reason, everytime we email
you the ampersand entity, it get translated into a literal again and it
looks like nothing has changed.
I am going to use @amp; but you change @ to in your code:
jdbc:mysql://localhost/[EMAIL
This isn't a Struts prolem, and it's not a MySQL problem either. As usual, it's
user error :-)
These are two things to do:
[1] If you're importing through Java, you need to make sure your file reader is
properly decoding
UTF-8 stings:
http://javaalmanac.com/egs/java.io/ReadFromUTF8.html
[2]
Because you're doing XML, you need to escape XML entities.
Change your value to this:
jdbc:mysql://localhost/databaseName?useUnicode=trueamp;characterEncoding=utf-8
__
Yahoo! Mail - PC Magazine Editors' Choice 2005
There is a module attribute to the forward tag. From the DTD: The module
prefix to use with this
path. This value should begin with a slash (/).
--- alec lee [EMAIL PROTECTED] wrote:
I am using modules and placing my JSPs under /WEB-INF. My understanding is
that struts support this
/myApp/WEB-INF/module/actionB.do!
I never ever seen Struts resolve to WEB-INF. That's a file system path. Struts
paths are URI which
are not in the file system.
__
Start your day with Yahoo! - Make it your home page!
Some things to check:
1) You have a resource bundle loaded by Struts.
2) Your keys listed in the validator are in the resource bundle.
3) You have a configuration file which lists out the validations needed by the
validator.
4) You're using the correct version of validator for your version of
There's nothing wrong with ussing session scoped forms. You can attached these
lists right to the
form, if you want - just make sure you remove the form from memory when you're
finished.
--- Raghu Kanchustambham [EMAIL PROTECTED] wrote:
I think I can explain it now.
I hit the action servlet
.. just
started using it for the last 2 days .. and struts as such for just over a
month. So want someone's opinion on my explanation of why state is being
lost!
thanks
raghu
On 11/12/05, Paul Benedict [EMAIL PROTECTED] wrote:
There's nothing wrong with ussing session scoped forms
Mon,
There's two conditions here. The State and Zip are valid (not required) when...
Always look at
this as valid not required; you need to list out the conditions which will
make the validation
pass.
[1] the country is United States and *this* is not null
[2] the country is not United States
Check out your context setting. Set the reloadable attribute to true.
http://tomcat.apache.org/tomcat-5.0-doc/config/context.html
Set to true if you want Catalina to monitor classes in /WEB-INF/classes/ and
/WEB-INF/lib for
changes, and automatically reload the web application if a change is
Kevin,
Follow this example. It uses a master layout [A] and then an inner layout [B].
You need to
envision that the body content of A is B, and the body content of B is C.
definition name=search_form_base path=/layout/search_form_layout.jsp -- A
put name=FilterA
Message-
From: Paul Benedict [mailto:[EMAIL PROTECTED]
Sent: 10 November 2005 00:00
To: Struts Users Mailing List
Subject: RE: Tiles: nesting one template inside another?
Kevin,
Follow this example. It uses a master layout [A] and then an inner layout
[B]. You need to envision
Pat,
It's possible by restarting the tomcat server, you're serializing the session
-- it's called a
sticky session -- which sticks around between restarts.
I am not aware of anyone using reset(). If you also need to clear the form
fields, why not use a
request scope form? It sounds like you
otherwise instantiated? I can see the need
store/create objects in the session, possibly with a
form bean, but want my fields clear. Just a newbie.
Thanks.
--- Paul Benedict [EMAIL PROTECTED] wrote:
Pat,
It's possible by restarting the tomcat server,
you're serializing the session
Not to be greedy, however is it possible to have a
form dynamically save and make selectable the previous
field entries?
You need to be more clear. I don't understand this.
__
Yahoo! FareChase: Search multiple travel sites in one click.
I have gone to this link:
http://struts.apache.org/struts-tiles/installation.html
I am looking for those 3 WAR files listed but I can't find them. The link in
this paragraph is
broken so I can't get to the distribution: First, download a binary
distribution of Tiles by
following the
501 - 600 of 625 matches
Mail list logo