该文可以转载,但转载必须注明作者,出处:
作者:lhx1026
出处:
http://lhx1026.iteye.com/
这一章介绍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(...)这个方法里面要添加的控件,必须是你要改变的控件的父控件。
呵呵,这些最常用的控件就介绍到这里了,这些控件还有其他的使用方法,以后熟悉的话就知道了。
分享到:
相关推荐
示例可能涵盖了从基础组件使用到高级特性的各种用法,如Ajax操作、模型绑定、事件处理和安全策略等。通过分析和运行这些示例,开发者能够加深对Wicket框架的理解,从而更好地在实际开发中运用Wicket。 总之,...
- **Form**:表单控件的容器。 - **FeedbackPanel**:用于显示表单反馈信息。 - **Button**:处理表单提交。 - **ImageButton**:使用图像作为按钮。 - **SubmitLink**:链接形式的提交按钮。 以上内容概述了Wicket...
#### 五、表单控件(Form) **1. 基本结构** - HTML部分: ```html <form wicket:id="form"> <span wicket:id="lbName"> 提交"/> ``` - Java部分: ```java Form form = new Form("form") { @Override ...
下面将详细介绍Wicket中的基础控件及其使用。 1. **Label**:Label是最基本的控件,用于显示文本内容。它可以绑定到模型对象,动态地展示数据。例如,`Label id="myLabel", Model.of("Hello, Wicket!")` 将在页面上...
- **Wicket的历史与背景**:Wicket是一款基于Java的开源Web应用框架,它强调组件化的编程方式,并且支持多种现代Web开发特性,如AJAX等。Wicket的设计理念是为了简化Web应用的开发过程,使开发者能够更加专注于业务...
- 针对 Wicket 1.2 版本的应用程序,部署过程较为简单,通常只需要将 WAR 文件放置在应用服务器的部署目录下即可。 - 如果需要自定义配置,可以在 web.xml 中进行设置。 - **部署 Wicket 1.3 程序:** - **使用 ...
- **5.4.1 表单控件** - **5.4.2 Button控件** - **5.4.3 提交链接** - **5.4.4 输入文本控件** - **5.4.5 密码输入控件** - **5.4.6 多行输入文本控件** - **5.4.7 选择框控件** - **5.4.8 多选框控件** -...
- 表单控件 Form。 - Button 控件。 - 文本输入 TextField。 - 密码输入 PasswordTextField。 - 多行文本 MultiLineTextField。 - 下拉选择 ComboBox。 - 多选 ListMultiChoice。 - **数据列表控件**: ...
- **5.4.1 表单控件** 提供了创建表单的基础组件。 - **5.4.2 信息输出控件** 用于显示表单的状态或提示信息。 - **5.4.3 Button控件** 用于触发事件或提交表单。 - **5.4.4 提交链接** 类似于按钮,但...
- **表单数据验证**:Wicket内置了强大的表单验证机制,简化了开发流程。 - **Session类型安全**:通过类型安全的会话管理,提高应用的安全性和可靠性。 - **扩展工厂**:Wicket支持自定义工厂,使得开发更加灵活。 ...
Wicket是一个开源的Java Web应用程序开发框架,它简化了Web应用程序的开发,通过将组件化方法应用于Web应用程序开发,允许开发者使用POJO(普通Java对象)来构建Web应用程序。它具有清晰的MVC(模型-视图-控制器)...
Wicket是一个开源的Java Web应用程序框架,它提供了一种组件化的开发方式,使得开发者能够创建出高度交互且易于维护的Web应用。Wicket的核心理念是将界面与业务逻辑分离,通过组件模型实现这一目标。本资源是"Wicket...
Wicket的核心结构包括页面、组件、模型和会话,这些构成了Wicket应用的基础。 #### 4.2 MVC架构 Wicket遵循MVC模式,其中模型负责数据管理,视图负责展示,控制器则处理用户请求。 #### 4.3 Wicket如何处理用户...
- **低学习曲线:** 由于采用了类似于客户端/服务器(C/S)应用程序的开发方式,因此对于有一定 Java 基础的开发者来说,学习 Wicket 相对较为简单。 - **易于调试:** Wicket 在设计时考虑到了减少错误类型并帮助...