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#后台逻辑,肯定痛苦死了,不说实现复杂的逻辑,就算实现一个简单增删改查,都会让人头痛欲裂 ...
随机推荐
- 第三十九章 微服务CICD(1)- gitlab搭建与使用(docker版)
一.下载docker镜像 前提:docker引擎已经安装好. docker pull gitlab/gitlab-ce gitlab是8.13.1版本. 二.启动应用 docker run -d -h ...
- zzulioj 1907小火山的宝藏交易(dfs记忆化搜索)
#include <stdio.h> #include <algorithm> #include <string.h> #include <vector> ...
- LoadRunner录制不弹出IE浏览器,event=0
系统环境:win7,安装了IE.360.firefox.搜狗高速浏览器: 起初刚装完loadrunner11的时候,选了IE进行录制,就是不能打开IE,算了,那就用loadrunner默认的设置,居然 ...
- BHP编译器教程
BHP编译器教程 BHP是一个WEB模版编程语言编译器,生成PHP后端代码. 最简单的Helloworld例子 编写一个hello.bhp文件 <? $hello="hello,wor ...
- [linux]linux普通用户安装rpm软件
先下载rpm文件 yumdownloader xxxx.rpm 直接wget等其他方式下载也可以. 解压 rpm2cpio xxxx.rpm |cpio -idvm 修改环境变量 将新增的软件的可执行 ...
- 【Java学习笔记】Map借口的子接口----HashMap
存储在HashMap集合中的元素,必须覆盖hashCode和equals方法(与HashSet类似) import java.util.HashMap; import java.util.Iter ...
- 校验两次密码一致的js代码
function checkpasswd(){ var passwd = document.getElementByIdx_x_x_xx_x('passwd').value; var repasswd ...
- Mysql --分区表(6)Hash分区
HASH分区 HASH分区主要用来分散热点读,确保数据在预先确定个数的分区中尽可能平均分布.对一个表执行HASH分区时,MySQL会对分区键应用一个散列函数,以此确定数据应当放在N个分区中的哪个分区 ...
- Servlet中使用Log4j2
因为Servlet常用的版本有两个,即2.5与3.0.要在web application中使用Log4j2,还需要加入log4j-web的jar包.log4j通过web.xml中的context参数l ...
- STL源码--iterator和traits编程技法
第一部分 iterator学习 STL iterators定义: 提供一种方法,使之能够依序巡访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式. 任何iteartor都应该提供5 ...