⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 home.java

📁 Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容易而轻松。 Wicket利用一个POJO data beans组件使得它可以与任何持久层技术相结合。
💻 JAVA
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.wicket.threadtest.apps.app1;import java.net.MalformedURLException;import java.net.URL;import java.util.Arrays;import java.util.Date;import java.util.List;import java.util.Locale;import org.apache.wicket.AttributeModifier;import org.apache.wicket.markup.html.WebMarkupContainer;import org.apache.wicket.markup.html.WebPage;import org.apache.wicket.markup.html.basic.Label;import org.apache.wicket.markup.html.form.Check;import org.apache.wicket.markup.html.form.CheckBox;import org.apache.wicket.markup.html.form.CheckGroup;import org.apache.wicket.markup.html.form.ChoiceRenderer;import org.apache.wicket.markup.html.form.DropDownChoice;import org.apache.wicket.markup.html.form.Form;import org.apache.wicket.markup.html.form.ImageButton;import org.apache.wicket.markup.html.form.ListMultipleChoice;import org.apache.wicket.markup.html.form.Radio;import org.apache.wicket.markup.html.form.RadioChoice;import org.apache.wicket.markup.html.form.RadioGroup;import org.apache.wicket.markup.html.form.TextField;import org.apache.wicket.markup.html.image.Image;import org.apache.wicket.markup.html.link.Link;import org.apache.wicket.markup.html.list.ListItem;import org.apache.wicket.markup.html.list.ListView;import org.apache.wicket.markup.html.panel.FeedbackPanel;import org.apache.wicket.markup.html.panel.Panel;import org.apache.wicket.markup.repeater.Item;import org.apache.wicket.markup.repeater.data.DataView;import org.apache.wicket.model.AbstractReadOnlyModel;import org.apache.wicket.model.CompoundPropertyModel;import org.apache.wicket.model.IModel;import org.apache.wicket.model.Model;import org.apache.wicket.model.PropertyModel;import org.apache.wicket.protocol.http.WebRequest;import org.apache.wicket.util.convert.ConversionException;import org.apache.wicket.util.convert.IConverter;import org.apache.wicket.util.convert.MaskConverter;import org.apache.wicket.validation.validator.NumberValidator;import org.apache.wicket.version.undo.Change;public class Home extends WebPage{	private class ActionPanel extends Panel	{		/**		 * @param id		 *            component id		 * @param model		 *            model for contact		 */		public ActionPanel(String id, IModel model)		{			super(id, model);			add(new Link("select")			{				public void onClick()				{					Home.this.selected = (Contact)getParent().getModelObject();				}			});		}	}	/**	 * Form for collecting input.	 */	private class InputForm extends Form	{		/**		 * Construct.		 * 		 * @param name		 *            Component name		 */		public InputForm(String name)		{			super(name, new CompoundPropertyModel(new FormInputModel()));			add(new LocaleDropDownChoice("localeSelect"));			add(new Link("defaultLocaleLink")			{				public void onClick()				{					WebRequest request = (WebRequest)getRequest();					setLocale(request.getLocale());				}			});			TextField stringTextField = new TextField("stringProperty");			stringTextField.setLabel(new Model("String"));			add(stringTextField);			TextField integerTextField = new TextField("integerProperty", Integer.class);			add(integerTextField.add(NumberValidator.POSITIVE));			add(new TextField("doubleProperty", Double.class));			WebMarkupContainer dateLabel = new WebMarkupContainer("dateLabel");			add(dateLabel);			TextField datePropertyTextField = new TextField("dateProperty", Date.class);			add(datePropertyTextField);			add(new TextField("integerInRangeProperty", Integer.class).add(NumberValidator.range(0,					100)));			add(new CheckBox("booleanProperty"));			RadioChoice rc = new RadioChoice("numberRadioChoice", NUMBERS).setSuffix("");			rc.setLabel(new Model("number"));			add(rc);			RadioGroup group = new RadioGroup("numbersGroup");			add(group);			ListView persons = new ListView("numbers", NUMBERS)			{				protected void populateItem(ListItem item)				{					item.add(new Radio("radio", item.getModel()));					item.add(new Label("number", item.getModelObjectAsString()));				};			};			group.add(persons);			CheckGroup checks = new CheckGroup("numbersCheckGroup");			add(checks);			ListView checksList = new ListView("numbers", NUMBERS)			{				protected void populateItem(ListItem item)				{					item.add(new Check("check", item.getModel()));					item.add(new Label("number", item.getModelObjectAsString()));				};			};			checks.add(checksList);			add(new ListMultipleChoice("siteSelection", SITES));			add(new TextField("urlProperty", URL.class)			{				public IConverter getConverter(Class clazz)				{					return new IConverter()					{						/**						 * @see org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,						 *      java.util.Locale)						 */						public Object convertToObject(String value, Locale locale)						{							try							{								return new URL(value.toString());							}							catch (MalformedURLException e)							{								throw new ConversionException("'" + value + "' is not a valid URL");							}						}						/**						 * @see org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object,						 *      java.util.Locale)						 */						public String convertToString(Object value, Locale locale)						{							return value != null ? value.toString() : null;						}					};				}			});			add(new TextField("phoneNumberUS", UsPhoneNumber.class)			{				public IConverter getConverter(Class clazz)				{					return new MaskConverter("(###) ###-####", UsPhoneNumber.class);				}			});			add(new LinesListView("lines"));			add(new ImageButton("saveButton"));			add(new Link("resetButtonLink")			{				public void onClick()				{					InputForm.this.modelChanged();				}			}.add(new Image("resetButtonImage")));		}		/**		 * @see org.apache.wicket.markup.html.form.Form#onSubmit()		 */		public void onSubmit()		{			info("Saved model " + getModelObject());		}	}	/** list view to be nested in the form. */	private static final class LinesListView extends ListView	{		/**		 * Construct.		 * 		 * @param id		 */		public LinesListView(String id)		{			super(id);			setReuseItems(true);		}		protected void populateItem(ListItem item)		{			item.add(new TextField("lineEdit", new PropertyModel(item.getModel(), "text")));		}	}	/**	 * Choice for a locale.	 */	private final class LocaleChoiceRenderer extends ChoiceRenderer	{		/**		 * Constructor.		 */		public LocaleChoiceRenderer()		{		}		/**		 * @see org.apache.wicket.markup.html.form.IChoiceRenderer#getDisplayValue(Object)		 */		public Object getDisplayValue(Object object)		{			Locale locale = (Locale)object;			String display = locale.getDisplayName(getLocale());			return display;		}	}	/**	 * Dropdown with Locales.	 */	private final class LocaleDropDownChoice extends DropDownChoice	{		/**		 * Construct.		 * 		 * @param id		 *            component id		 */		public LocaleDropDownChoice(String id)		{			super(id, LOCALES, new LocaleChoiceRenderer());			setModel(new PropertyModel(Home.this, "locale"));		}		/**		 * @see org.apache.wicket.markup.html.form.DropDownChoice#onSelectionChanged(java.lang.Object)		 */		public void onSelectionChanged(Object newSelection)		{		}		/**		 * @see org.apache.wicket.markup.html.form.DropDownChoice#wantOnSelectionChangedNotifications()		 */		protected boolean wantOnSelectionChangedNotifications()		{			return true;		}	}	/** Relevant locales wrapped in a list. */	private static final List LOCALES = Arrays.asList(new Locale[] { Locale.ENGLISH,			new Locale("nl"), Locale.GERMAN, Locale.SIMPLIFIED_CHINESE, Locale.JAPANESE,			new Locale("pt", "BR"), new Locale("fa", "IR"), new Locale("da", "DK") });	/** available sites for the multiple select. */	private static final List SITES = Arrays.asList(new String[] { "The Server Side", "Java Lobby",			"Java.Net" });	/** available numbers for the radio selection. */	static final List NUMBERS = Arrays.asList(new String[] { "1", "2", "3" });	private Contact selected;	public Home()	{		add(new Link("link")		{			int i = 0;			@Override			public void onClick()			{				i++;				addStateChange(new Change()				{					@Override					public void undo()					{					}				});			}		});		add(new Label("selectedLabel", new PropertyModel(this, "selectedContactLabel")));		add(new DataView("simple", new ContactDataProvider())		{			protected void populateItem(final Item item)			{				Contact contact = (Contact)item.getModelObject();				item.add(new ActionPanel("actions", item.getModel()));				item.add(new Label("contactid", String.valueOf(contact.getId())));				item.add(new Label("firstname", contact.getFirstName()));				item.add(new Label("lastname", contact.getLastName()));				item.add(new Label("homephone", contact.getHomePhone()));				item.add(new Label("cellphone", contact.getCellPhone()));				item.add(new AttributeModifier("class", true, new AbstractReadOnlyModel()				{					public Object getObject()					{						return (item.getIndex() % 2 == 1) ? "even" : "odd";					}				}));			}		});		final FeedbackPanel feedback = new FeedbackPanel("feedback");		add(feedback);		add(new InputForm("inputForm"));	}	/**	 * @return string representation of selceted contact property	 */	public String getSelectedContactLabel()	{		if (selected == null)		{			return "No Contact Selected";		}		else		{			return selected.getFirstName() + " " + selected.getLastName();		}	}	/**	 * Sets locale for the user's session (getLocale() is inherited from	 * Component)	 * 	 * @param locale	 *            The new locale	 */	public void setLocale(Locale locale)	{		if (locale != null)		{			getSession().setLocale(locale);		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -