wicket基础应用(2)--wicket表单控件的使用
该文可以转载,但转载必须注明作者,出处:
作者:lhx1026
这一章介绍wicket表单控件的简单应用
1、Label控件
这个应该说是最常用的控件了
html代码:
<span wicket:id="toDo"></span>
java代码:
Label toDoLabel = new Label("toDo", new Model());
其中,Label这个控件有几个构造函数,后面的参数可以是String,也可以是Model。Model是用来存放这个控件的值的。如果不需要获取这个控件的值,只是需要给这个控件赋值的话,可以用String。如果需要获取这个控件的值,可以通过以下语句获取:
toDoLabel.getDefaultModelObject();
或者也可以这样
Model toDoModel = new Model();
Label toDoLabel = new Label("toDo", toDoModel); Object obj = toDoModel.getObject();
2、TextField控件:
html代码:
<input type="text" wicket:id="entName" />
java代码:
Model entNameModel = new Model();
TextField entNameText = new TextField("entName", entNameModel);
控件值的获取方式同上。
3、TextArea控件:
html代码:
<textarea cols="50" rows="5" wicket:id="linkAddress"></textarea>
java代码:
Model linkAddressModel = new Model();
TextArea linkAddressArea = new TextArea("linkAddress", linkAddressModel);
4、下拉框控件:
html代码:
<select wicket:id="status"> </select>
java代码:
List<Integer> statusList = Arrays.asList(new Integer[] { 1, 2 });
final HashMap<Integer, String> statusMap = new HashMap<Integer, String>();
statusMap.put(new Integer(1), "有效");
statusMap.put(new Integer(2), "暂停");
IChoiceRenderer statusRenderer = new ChoiceRenderer() {
@Override
public Object getDisplayValue(Object object) {
return statusMap.get(object);
}
};
DropDownChoice statusChoice = new DropDownChoice("status", statusModel, statusList, statusRenderer);
其中,IChoiceRenderer的母的是为了将在字面上面显示的字符串跟stausMap中的值对应起来。这样的代码实例化的时候,下拉框会出现一个默认的选项:"请选择"。如果不想出现这个选项,在实例化DropDownChoice的时候,可以这样做:
DropDownChoice statusChoice = new DropDownChoice("status", statusModel, statusList, statusRenderer){
@Override
public String getDefaultValue() {
return null;
}
};
或者不想出现“请选择”,而是“全部”,可以这样写一个方法:
/**
* 根据传入的参数得到一个下拉框
*
* @param id
* @param model
* @param list
* @param renderer
* @param choice
* 默认值,比如下拉框的第一个值为"请选择"
* @return
*/
private DropDownChoice getDownChoice(String id, Model model, List list, IChoiceRenderer renderer, final String choice) {
return new DropDownChoice(id, model, list, renderer) {
@Override
protected CharSequence getDefaultChoice(Object arg0) {
if (choice != null) {
return new AppendingStringBuffer("\n<option selected=\"selected\" value=\"\">").append(choice).append("</option>");
} else
return null;
}
};
}
5、按钮
<input type="submit" wicket:id="addSpNum" value="保存" />
Button addSpNumButton = new Button("addSpNum"){
@Override
public void onSubmit() {
System.out.println("这里时点击按钮时触发的事件!");
}
};
如果这个按钮是在表单中,则点击这个按钮会先触发表单的onSubmit()事件,然后再触发按钮本身的onSubmit()事件。如果不想触发表单的onSubmit()事件,则可以用下面的语句:
addSpNumButton.setDefaultFormProcessing(false);
6、链接
<a wicket:id="more">more</a>
普通链接
Link moreLink = new Link("more") {
@Override
public void onClick() {
System.out.println("这里是点击链接触发的事件");
}
};
Ajax链接
AjaxLink moreLink = new AjaxLink("more") {
@Override
public void onClick(AjaxRequestTarget target) {
morePanel.setVisible(true);
target.addComponent(morePanel2);
}
};
注意:这里如果是Ajax链接,那么如果要点击这个链接使其他的控件发生变化的时候,target.addComponent(...)这个方法里面要添加的控件,必须是你要改变的控件的父控件。
呵呵,这些最常用的控件就介绍到这里了,这些控件还有其他的使用方法,以后熟悉的话就知道了。
wicket基础应用(2)--wicket表单控件的使用的更多相关文章
- vue.js基础知识篇(3):计算属性、表单控件绑定
第四章:计算属性 为了避免过多的逻辑造成模板的臃肿不堪,可使用计算属性来简化逻辑. 1.什么是计算属性 <!DOCTYPE html><html lang="en" ...
- Vue.js学习 Item9 – 表单控件绑定
基础用法 可以用 v-model 指令在表单控件元素上创建双向数据绑定.根据控件类型它自动选取正确的方法更新元素.尽管有点神奇,v-model 不过是语法糖,在用户输入事件中更新数据,以及特别处理一些 ...
- Vue表单控件绑定
前面的话 本文将详细介绍Vue表单控件绑定 基础用法 可以用 v-model 指令在表单控件元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.v-model本质上不过是语法糖,它负 ...
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- 基于 el-form 封装一个依赖 json 动态渲染的表单控件
nf-form 表单控件的功能 基于 el-form 封装了一个表单控件,包括表单的子控件. 既然要封装,那么就要完善一些,把能想到的功能都要实现出来,不想留遗憾. 毕竟UI库提供的功能都很强大了,不 ...
- “此网页上的某个 Web 部件或 Web 表单控件无法显示或导入。找不到该类型,或该类型未注册为安全类型。”
自从vs装了Resharper,看见提示总是手贱的想去改掉它.于是乎手一抖,把一个 可视web部件的命名空间给改了. 喏,从LibrarySharePoint.WebPart.LibraryAddEd ...
- MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件
类似于多层级的角色与权限控制功能,用MVC实现MVC树控件,mvc中应用treeview,实现复选框树的多层级表单控件.最近我们的项目中需要用到树型菜单,以前使用WebForm时,树型菜单有微软提供的 ...
- AnjularJS系列2 —— 表单控件功能相关指令
第二篇,表单控件功能相关指令. ng-checked控制radio和checkbox的选中状态 ng-selected控制下拉框的选中状态 ng-disabled控制失效状态 ng-multiple控 ...
- 基于CkEditor实现.net在线开发之路(3)常用From表单控件介绍与说明
上一章已经简单介绍了CKEditor控件可以编写C#代码,然后可以通过ajax去调用,但是要在网页上面编写所有C#后台逻辑,肯定痛苦死了,不说实现复杂的逻辑,就算实现一个简单增删改查,都会让人头痛欲裂 ...
随机推荐
- Quartus中添加时序约束
1.sdc文件也是要添加到Quartus 软件中,这样在执行Read SDC File命令时才能读到相应的文件. 2.在TimeQuest打开的条件下,重新编译工程之后要Update Timing N ...
- JDBC第一天
(一)JDBC访问数据库的工作过程: <1>加载驱动,建立连接 oracle数据库:在项目中导入ojdbc.jar包 数据库驱动路径:String driver ...
- 解决KDE桌面环境下Eclipse崩溃的问题--让Eclipse使用特定的GTK2主题运行
最近在Kubuntu14.04上安装Eclipse,由于Ubuntu软件中心中的版本太老(3.8),而且会自动安装OpenJDK,于是到官网下载最新的4.4版.(Luna,代号很有亲切感有木有,女神万 ...
- 新手入门Java需要注意的问题
学习编程,虽然有老师教,但是更重要的事自学.这是很重要的. 现在互联网上面资源太多了,这也就有一个问题:怎么才能在一定时间内学习该知识,掌握该技能呢? 理论联系实践! 学以致用!! 网上的资源太多了, ...
- 在unity3d中使用opencv
1.首先下载opencv2.4.10,解压缩后放在合适的地方,然后根据自己的电脑(32位或64位)选择X86或X64,我的是32位,将“opencv存放路径\build\x86\vc12\bin”加入 ...
- homework 11 2016 5 13 读入文件做输入
#include <iostream>#include <fstream> using namespace std; int main(){ string x, y, z; c ...
- [PHP] php实现文件下载
1. 设置超链接的href属性 <a href="文件地址"></a> 如果浏览器不能解析该文件,浏览器会自动下载.而如果文件是图片或者txt,会直接在浏览 ...
- 气象API(2)
中华万年历: http://wthrcdn.etouch.cn/weather_mini?city=北京通过城市名字获得天气数据,json数据http://wthrcdn.etouch.cn/weat ...
- .android:allowTaskReparenting 等Activity 的task属性
转自http://blog.csdn.net/javayinjaibo/article/details/8855678 1.android:allowTaskReparenting 这个属性用来标记一 ...
- 表单验证代码实例:jquery.validate.js表单验证插件
jquery.validate.js是JQuery旗下的一个验证插件,借助JQuery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法.使用前请先下载必要的JQuery插件:jq ...