如何在jsp中预备国家

时间:2016-02-23 17:43:25

标签: html jsp

我需要在jsp中预填充用户的国家/地区名称。

到目前为止,我有这个:

{{ crumb.state }}

问题是我有大约180个国家,我认为在我的代码中有这么多“if else”语句并不好。

通常我会使用下拉列表选择这样的国家:

    <input type="text" name="foreigncountry" id="foreigncountry" class="nice input-text" size="20" maxlength="20"
    <% 
        String country = userInfo.getAddressInfo().getCountry();
        if (country.equalsIgnoreCase("CA")) {                                                   
            out.print("value='Canada'");
        else if((country.equalsIgnoreCase("KZ"))){
            out.print("value='Kazakhstan'");
    } %>
> 

但我不知道如何绑定它们以使其有效。

底线我更倾向于使用国家名称下拉列表,并从我从scriptlet获得的值预填充国家/地区。

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

好的,最后我解决了。不确定它是否是最好的解决方案,如果你知道更好的方式,请告诉我。

Step1:将输入类型设为隐藏,并从jsp

获取值
<input type="hidden" name="foreigncountry" id="foreigncountry" class="nice input-text" size="20" maxlength="20"
<% 
    String country = userInfo.getAddressInfo().getCountry();
    if (country != null && country.trim().length()>0 && !("US").equalsIgnoreCase(country)) {                            
        out.print("value='" + country.trim() + "'");
    } else {
        out.print("value=''");
    }
%>

第2步:使用jQuery预填充国家/地区

<select id="countries" name="countries">
    <option value="AF">Afghanistan</option>
    <option value="AL">Albania</option>
    ...
</select> 

<script>
    var val = document.getElementById("foreigncountry").value;
    $('#countries').val(val);
</script>