2010-04-13 132 views
0

我希望能够根据我的网站支持的语言创建一个下拉选择框。我似乎无法在Wicket中找到可以实现这一功能的组件。我怎样才能做到这一点?语言下拉选择器

回答

1

我没有测试过这一点,但你可以试试:

private Locale chosenLocale; 

public LocalePage() { 
    Form<Void> form = new Form<Void>("form") { 
     @Override 
     protected void onSubmit() { 
      // do something with this.chosenLocale 
      // perhaps getSession().setLocale(this.chosenLocale); 
     } 
    }; 
    List<Locale> locales = new ArrayList<Locale>(Arrays.asList(Locale.ENGLISH, Locale.FRENCH )); 
    DropDownChoice<Locale> choice = new DropDownChoice<Locale>("locale", new PropertyModel<Locale>(this, 
      "chosenLocale"), locales, new IChoiceRenderer<Locale>() { 

     @Override 
     public Object getDisplayValue(Locale object) { 
      return object.toString(); 
     } 

     @Override 
     public String getIdValue(Locale object, int index) { 
      return String.valueOf(index); 
     } 

    }); 

    add(form.add(choice.setNullValid(false))); 
} 

与像标记:

<html> 
<body> 
    <form wicket:id="form"> 
     <select wicket:id="locale" /> 
     <input type="submit" /> 
    </form> 
</body> 
</html>