Hi Albert,
The simplest method can be something like this:
public class RegisterAction {
...
public Country getSelectedCountryObject() {
foreach (c in countryList) if(c.countryId==selectedCountry) return c;
}
...
}
Thanks for using Struts.
Kind Regards.
>-Original Message-
>From: albert kao
>Sent: Saturday, December 22, 2018 6:39 PM
>To: Struts Users Mailing List
>Subject: How to display both selected key and value of s:select
>
>I want to display both selected key and value of s:select.
>e.g. for the following codes, after I select key="2", value="Canada"
>and press the submit button.
>Only the key "Country: 2" is displayed in the registerResult.jsp as desired.
>How to make the value "Canada" to display also in the browser?
>
>public class RegisterAction extends ActionSupport { private String country,
>selectedCountry; private ArrayList countryList;
>
>public RegisterAction() {
>countryList = new ArrayList();
>countryList.add(new Country(1, "India")); countryList.add(new Country(2,
>"Canada")); countryList.add(new Country(3, "US")); return; } }
>
>public class Country {
>private int countryId;
>private String countryName;
>public Country(int countryId, String countryName) { this.countryId = countryId;
>this.countryName = countryName; } public int getCountryId() { return
>countryId; }
>public void setCountryId(int countryId) { this.countryId = countryId; } public
>String
>getCountryName() { return countryName; } public void setCountryName(String
>countryName) { this.countryName = countryName; } }
>
>register.jsp
>
>
>listValue="countryName"
>value="selectedCountry"
>headerKey="0" headerValue="Country"
>label="Select a country" />
>
>
>
>
>
>registerResult.jsp
>Country: selectedCountry:
> CountryListAll: value="getCountryList()" /> CountryListAll2: value="countryList" /> CountryList: value="getCountryList().get(country)" /> CountryList.get value="countryList.get(country)" />
>
>
>http://localhost:8080/Struts2Example/register.action
>Country: 2
>selectedCountry: CountryListAll: [com.test.common.Country@32cdbdf6,
>com.test.common.Country@6cbe3d89, com.test.common.Country@7abf043f]
>CountryListAll2: [com.test.common.Country@32cdbdf6,
>com.test.common.Country@6cbe3d89, com.test.common.Country@7abf043f]
>CountryList: com.test.common.Country@7abf043f CountryList.get
>com.test.common.Country@7abf043f