2012-08-09 47 views
1

我使用JSTL来填充下拉项目,其中国家是具有{ id, name, code }属性的项目。设置下拉选择bean属性的值:弹簧

我的需求是获取所选国家的名称和代码。

例如:

Country{c_id, c_name, c_code}是国家豆的结构。当用户选择这个项目时,我需要检索两个值c_name,c_code。

我所做的尚未:

据我所知,只有一个值可以被分配到itemValue要么c_namec_code。 我试图填充所有国家和匹配选定的国家,然后设置为另一个路径变量,但这也不起作用。

我的代码

<form:select path="selectedCountry" id="ddlCountryId"> 
<c:forEach items="${countries}" var="country"> 
    <option value="${country.countryName}" ${country.countryName == selectedCountry ? 'selected' : ''}>${country.countryName}</option> 
    </c:forEach> 
    </form:select> 
    <input class="login_submit" type="submit" value="Login" id="btnSubmitId"> 

    <!-- Read country code of selected country --> 
    <c:forEach var="country" items="${countries}"> 
     <c:out value="country"></c:out> 
     <c:choose> 
     <c:when test="${country.countryName==loginCreadetials.selectedCountry}"> 
     <input name="countryCode" type="hidden" value="${country.countryCode}"/> 

     </c:when> 
     </c:choose> 
    </c:forEach> 

我怎样才能做到这一点?

回答

2

设置你的选项标记为一个字符串,就可以轻松解析的值,例如

值= “$ {} country.countryName:$ {} country.countryName”

在您的控制器中,您可以将字符串拆分为':'字符以检索您的两个值。

+0

+1我会检查它。 – 2012-08-16 14:17:31