`
lhx1026
  • 浏览: 305116 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

wicket基础应用(2)--wicket表单控件的使用

阅读更多
该文可以转载,但转载必须注明作者,出处:
作者: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(...)这个方法里面要添加的控件,必须是你要改变的控件的父控件。

呵呵,这些最常用的控件就介绍到这里了,这些控件还有其他的使用方法,以后熟悉的话就知道了。
分享到:
评论

相关推荐

    wicket-in-action-0.9-source

    示例可能涵盖了从基础组件使用到高级特性的各种用法,如Ajax操作、模型绑定、事件处理和安全策略等。通过分析和运行这些示例,开发者能够加深对Wicket框架的理解,从而更好地在实际开发中运用Wicket。 总之,...

    Wicket开发指南-简体版

    - **Form**:表单控件的容器。 - **FeedbackPanel**:用于显示表单反馈信息。 - **Button**:处理表单提交。 - **ImageButton**:使用图像作为按钮。 - **SubmitLink**:链接形式的提交按钮。 以上内容概述了Wicket...

    wicket常用控件使用方法

    #### 五、表单控件(Form) **1. 基本结构** - HTML部分: ```html &lt;form wicket:id="form"&gt; &lt;span wicket:id="lbName"&gt; 提交"/&gt; ``` - Java部分: ```java Form form = new Form("form") { @Override ...

    wicket基础控件

    下面将详细介绍Wicket中的基础控件及其使用。 1. **Label**:Label是最基本的控件,用于显示文本内容。它可以绑定到模型对象,动态地展示数据。例如,`Label id="myLabel", Model.of("Hello, Wicket!")` 将在页面上...

    Wicket开发指南

    - **Wicket的历史与背景**:Wicket是一款基于Java的开源Web应用框架,它强调组件化的编程方式,并且支持多种现代Web开发特性,如AJAX等。Wicket的设计理念是为了简化Web应用的开发过程,使开发者能够更加专注于业务...

    Wicket.pdf(Wicket开发指南)

    - 针对 Wicket 1.2 版本的应用程序,部署过程较为简单,通常只需要将 WAR 文件放置在应用服务器的部署目录下即可。 - 如果需要自定义配置,可以在 web.xml 中进行设置。 - **部署 Wicket 1.3 程序:** - **使用 ...

    《Wicket开发指南一书》PDF版本下载

    - **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 多选框控件** -...

    wicket 开发指南

    - 表单控件 Form。 - Button 控件。 - 文本输入 TextField。 - 密码输入 PasswordTextField。 - 多行文本 MultiLineTextField。 - 下拉选择 ComboBox。 - 多选 ListMultiChoice。 - **数据列表控件**: ...

    wicket文档

    - **5.4.1 表单控件** 提供了创建表单的基础组件。 - **5.4.2 信息输出控件** 用于显示表单的状态或提示信息。 - **5.4.3 Button控件** 用于触发事件或提交表单。 - **5.4.4 提交链接** 类似于按钮,但...

    Wicket中文开发指南

    - **表单数据验证**:Wicket内置了强大的表单验证机制,简化了开发流程。 - **Session类型安全**:通过类型安全的会话管理,提高应用的安全性和可靠性。 - **扩展工厂**:Wicket支持自定义工厂,使得开发更加灵活。 ...

    wicket官方文档源代码

    Wicket是一个开源的Java Web应用程序框架,它提供了一种组件化的开发方式,使得开发者能够创建出高度交互且易于维护的Web应用。Wicket的核心理念是将界面与业务逻辑分离,通过组件模型实现这一目标。本资源是"Wicket...

    wicket 開發指南

    Wicket的核心结构包括页面、组件、模型和会话,这些构成了Wicket应用的基础。 #### 4.2 MVC架构 Wicket遵循MVC模式,其中模型负责数据管理,视图负责展示,控制器则处理用户请求。 #### 4.3 Wicket如何处理用户...

Global site tag (gtag.js) - Google Analytics