Session A Mwamufiya wrote:
I used the key to get the label text from a properties file.

If that's the only reason you used it, then the label attribute is more appropriate.

Interestingly, the html source code shows the value as true, even if it is not 
checked when displayed.

That means the value passed for the checkbox *when checked* will be "true". When checkboxes are not checked the parameter is simply missing in the request. There's an interceptor called "checkbox" that does some hidden magic to make it appear that the checkbox sends true or false depending upon whether or not it is checked. (Make sure this is before "parameters" in the stack.)

The action variable should be a String or a boolean?  I tried both, and neither 
worked.

The problem is that you don't break down the problems before posting. There are lots of places you can get clues as to what's happening, but you have to understand that different parts of the process happen on different machines.

Request cycle:

(Let's start with a form already being viewed in a browser)
This page only contains (x)html components, and maybe javascript.
The browser handles getting all the right data into the right parameters and submits the values.

You can look at the generated html (view source) to see if it contains what you expect. If you're using complicated tools (like ajax components), those might be added to the page after it's initially generated, and the firebug extension might help you see what's really there. The "page info" option in firefox can help you see what the form's current values are.

OK--the browser submits the form. Often this is sent using "post" (look in the <form> tag) which hides the values, but if you want to see what was submitted right in the url, you can (temporarily) change this to "get".

OK--now this request goes to your server. Hopefully eventually to struts. Struts then steps through the interceptors and eventually calls your action. The action does it's thing and selects a result.

The result often is a .jsp page, which may have <s:FOO> tags in it. These get executed on the server and output the html that is sent to the browser.

The browser gets this html, executes any javascript, and displays the results. The cycle is complete. At any point in the cycle you should be able to verify that things are doing what you expect, but you need to know where to expect them.

For example, you asked last week about having the action pop up alert boxes for validation. You probably didn't get any responses because the question doesn't make sense. By the time the action is running it is already too late for the browser to do what you wanted. The popups you wanted must be generated by the browser before submitting the request to the server, and so must be handled by javascript. There are some tools in struts to generate "client side validation" which means javascript to verify stuff before submitting, but there's no magic--that validation logic must be in the page being displayed, and therefore debugable separately from the rest.

-Dale

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

Reply via email to