Re: rePost: How to set the selected value in an select rendered by optionsCollection

2004-03-11 Thread Niall Pemberton
Its the name/property specified on the  tag that causes
OptionsCollection to set "selected" - in your case the select tag needs to
look at he country property of the customer bean - if optionsCollection
finds a value that matches that, it will set selected.

 

 

Niall

- Original Message - 
From: "Frank Schaare" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Thursday, March 11, 2004 11:49 AM
Subject: rePost: How to set the selected value in an select rendered by
optionsCollection


> Hi all,
>
> i´m reposting my problem trying to be a little bit more specific. This
> problem is very important for me, though i made another 'book like'
> example to show where i am.
>
> There are three beans playing in my theatre:
> 1. the CommonValuesBean which stores frequently asked data for my JSP
> HTMLForms
> 2. the CustomerBean which is an buisiness objekt representing a customer
> 3. the DynaForm which stores data coming from my JSP HTMLForms.
>
> First of all, the CommonValuesBean is initialised. Therefore, i´ve got
> the sessionListener that puts data in it, anytime a new session is creatd:
>
>  public void sessionCreated(HttpSessionEvent event) {
> CommonValuesBean commonValuesBean = new CommonValuesBean(); // create
> new bean instance
> HashMap countries = new HashMap(); // Create new map
> countries.put("countryCode1","country1")
> countries.put("countryCode2","country2")
> countries.put("countryCode3","country3")
>
> countries.setCountries(countries); // Our example map is now stored
>
> HttpSession session = event.getSession();
> session.setAttribute("commonValuesBean",CommonValuesBean);
>  }
>
> Now we begin to deal with the customers. There is listCustomers Action
> that shows all of the customers. You can klick one to
> get more detailed information using the customersDetailsAction:
>
> public class customersDetailsAction extends Action
> {
> private Customer customer = new Customer();
>
> public ActionForward execute(ActionMapping mapping,ActionForm
> form,HttpServletRequest req,HttpServletResponse res)
> throws IOException, ServletException
> {
> customer.setFirstName("Frank");
> customer.setLastName("Schaare");
> customer.setCountry("country2");
>
> req.setAttribute("customer",customer); // storing customer in request
>
> return mapping.findForward("customerShowDetails"); // mapped to
> customerShowDetails.jsp
> }
> }
>
> The customerShowDetails.jsp looks like this:
>
> 
> .
> . tons of markup
> .
> 
>  property="countries" label="value" value="key"/>
> 
> .
> . again: tons of markup
> .
>
> 
>
> The problem is, that the  renders a select like
> this:
>
> 
> country1
> country2
> country3
> 
>
> i desperately NEED to render the select like this:
>
> 
> country1
> country2
> country3
> 
>
> because my customer lives in country2 !
>
> Is there any way to tell Struts to do this ?
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>



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



rePost: How to set the selected value in an select rendered by optionsCollection

2004-03-11 Thread Frank Schaare
Hi all,

i´m reposting my problem trying to be a little bit more specific. This 
problem is very important for me, though i made another 'book like' 
example to show where i am.

There are three beans playing in my theatre:
1. the CommonValuesBean which stores frequently asked data for my JSP 
HTMLForms
2. the CustomerBean which is an buisiness objekt representing a customer
3. the DynaForm which stores data coming from my JSP HTMLForms.

First of all, the CommonValuesBean is initialised. Therefore, i´ve got 
the sessionListener that puts data in it, anytime a new session is creatd:

public void sessionCreated(HttpSessionEvent event) {
	CommonValuesBean commonValuesBean = new CommonValuesBean(); // create 
new bean instance
	HashMap countries = new HashMap(); // Create new map
	countries.put("countryCode1","country1")
	countries.put("countryCode2","country2")
	countries.put("countryCode3","country3")
	
	countries.setCountries(countries); // Our example map is now stored
	
	HttpSession session = event.getSession();
	session.setAttribute("commonValuesBean",CommonValuesBean);
}

Now we begin to deal with the customers. There is listCustomers Action 
that shows all of the customers. You can klick one to
get more detailed information using the customersDetailsAction:

public class customersDetailsAction extends Action
{
private Customer customer = new Customer();
	public ActionForward execute(ActionMapping mapping,ActionForm 
form,HttpServletRequest req,HttpServletResponse res)
		throws IOException, ServletException
	{
	customer.setFirstName("Frank");
	customer.setLastName("Schaare");
	customer.setCountry("country2");

	req.setAttribute("customer",customer); // storing customer in request
	
	return mapping.findForward("customerShowDetails"); // mapped to 
customerShowDetails.jsp
	}
}

The customerShowDetails.jsp looks like this:


.
. tons of markup
.

	

.
. again: tons of markup
.



The problem is, that the  renders a select like 
this:


country1
country2
country3

i desperately NEED to render the select like this:


country1
country2   
country3

because my customer lives in country2 !

Is there any way to tell Struts to do this ?

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