铁甲人粤语:wicket 简单使用 陆续更新

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 20:09:22

wicket 简单使用 陆续更新

    博客分类:
  • Wicket
jQuerywicket1.button的setDefaultFormProcessing(false)方法可以在表单提交的时候只调用button的onSubmit方法,
当true的情况将先调用form的onSubmit方法再调用button的onSubmit方法,默认为true。
2.在需要的时候增加js
Java代码  
  1. public class JQueryValidateBehavior extends AbstractBehavior {   
  2.     private static final ResourceReference JQUERY_VALIDATE = new JavascriptResourceRefernce(JQueryValidateBehavior.class,"jquery.js");   
  3.        
  4.     public void renderHead(IHeaderResponse response) {   
  5.         super.renderHead(response);   
  6.         response.renderJavascriptReference(JQUERY_VALIDATE);   
  7.     }   
  8. }   
  9. 在page的form中只需要add(new JQueryValidateBehavior());  

3.在使用DropDownChoice的时候如果想一直显示 "请选择" 或 "请选择省份" 或 根本不想显示
Java代码  
  1. DropDownChoice _province = new DropDownChoice("wicketId",new Model(province),ListprovinceList,new ChoiceRenderer("name","id")){   
  2.     @Override  
  3.     protected CharSequence getDefaultChoice(Object arg0){   
  4.         return new AppendingStringBuffer("\n\"selected\" value=\"\">").append("请选择省份").append("");   
  5.         //return null; 根本不显示默认的"请选择"   
  6.     }   
  7. };   
  8. //如果想根据省份得到城市需要如下操作   
  9. _province.add(new AjaxFormComponentUpdatingBehavior("onchange")){   
  10.     protected void onUpdate(AjaxRequestTarget target){   
  11.         Province province = _province.getModelObject().getId());   
  12.         List cityList = xxxManager.getCityByProvince(province.getId());   
  13.         //_city同样是DropDownChoice或者 ListMultipleChoice   
  14.         _city.setChoice(new Model((Serializable)cityList));   
  15.         target.addComponent(_city);   
  16.     }   
  17. };  

4.隐藏 setVisible 使用
Java代码  
  1. xxx控件.setOutputMarkupPlaceholderTag(true).setVisible(true);//false;   
  2. 或者   
  3. xxx控件.add(new SimpleAttributeModifier("style","display:none"));  

5.AjaxButton 同样支持JQuery validate验证
自己做个AjaxButton和原有的AjaxButton一样
因为这里需要使用JQuery Validate 所以需要修改AjaxButton 里的 getEventHandler();
Java代码  
  1. protected CharSequence getEventHandler(){   
  2.     return new AppendingStringBuffer("if(jQuery('#"+AjaxButton2.this.getForm().getMarkupId()+"').valid()){"+super.getEventHandler()+";return false;}else{return false;}");   
  3. }