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

📄 pageparameters.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;import java.util.Map;import org.apache.wicket.protocol.http.RequestUtils;import org.apache.wicket.util.string.IStringIterator;import org.apache.wicket.util.string.StringList;import org.apache.wicket.util.value.ValueMap;/** * A typesafe abstraction and container for parameters to a requested page. Page parameters in HTTP * are query string values in the request URL. In other protocols, the parameters to a page might * come from some other source. * <p> * Pages which take a PageParameters object as an argument to their constructor can be accessed * directly from a URL and are known as "bookmarkable" pages since the URL is stable across sessions * and can be stored in a browser's bookmark database. *  * @author Jonathan Locke */public final class PageParameters extends ValueMap{	/**	 * Null value for page parameters	 */	public static final PageParameters NULL = new PageParameters();	private static final long serialVersionUID = 1L;	/**	 * Constructor	 */	public PageParameters()	{		super();		setOnRequestCycle();	}	/**	 * Copy constructor.	 * 	 * @param parameterMap	 *            The map to copy	 * @see ValueMap#ValueMap(java.util.Map)	 */	public PageParameters(final Map parameterMap)	{		super(parameterMap);		setOnRequestCycle();	}	/**	 * Construct.	 * 	 * @param keyValuePairs	 *            List of key value pairs separated by commas. For example, "param1=foo,param2=bar"	 * @see ValueMap#ValueMap(String)	 */	public PageParameters(final String keyValuePairs)	{		this(keyValuePairs, ",");	}	/**	 * Construct.	 * 	 * @param keyValuePairs	 *            List of key value pairs separated by commas. For example, "param1=foo,param2=bar"	 * @param delimiter	 *            Delimiter string used to separate key/value pairs	 * @see ValueMap#ValueMap(String)	 * 	 * @deprecated Please use {@link RequestUtils#decodeParameters(String, ValueMap)} to decode a	 *             request URL, or {@link ValueMap#ValueMap(String, String)} for other usecases.	 */	public PageParameters(final String keyValuePairs, final String delimiter)	{		super();		setOnRequestCycle();		// We can not use ValueMaps constructor as it uses		// VariableAssignmentParser which is more suitable for markup		// attributes, rather than URL parameters. URL param keys for		// examples are allowed to start with a digit (e.g. 0=xxx)		// and quotes are not "quotes".		// Get list of strings separated by the delimiter		final StringList pairs = StringList.tokenize(keyValuePairs, delimiter);		// Go through each string in the list		for (IStringIterator iterator = pairs.iterator(); iterator.hasNext();)		{			// Get the next key value pair			final String pair = iterator.next();			final int pos = pair.indexOf('=');			if (pos == 0)			{				throw new IllegalArgumentException("URL parameter is missing the lvalue: " + pair);			}			else if (pos != -1)			{				final String key = pair.substring(0, pos).trim();				final String value = pair.substring(pos + 1).trim();				put(key, value);			}			else			{				final String key = pair.trim();				final String value = null;				put(key, value);			}		}	}	public Object put(Object key, Object value)	{		return super.put(key, value);/* * BRING BACK IN 1.4 *  * if (!(key instanceof String)) { throw new IllegalArgumentException( "PageParameter keys must be * of type String, but you supplied a " + key.getClass().getName()); } if (value instanceof String || * value instanceof String[]) { return super.put(key, value); } else { throw new * IllegalArgumentException("You tried to add an object of type " + value.getClass().getName() + " * to your PageParameters for key " + key + ", but you are only allowed to use String or * String[]."); } */	}	/**	 * Set this on request cycle. The RequestCycle will decide whether to keep it as a reference or	 * not.	 * 	 * @see RequestCycle#setPageParameters(PageParameters)	 */	private void setOnRequestCycle()	{		RequestCycle cycle = RequestCycle.get();		if (cycle != null)		{			cycle.setPageParameters(this);		}	}}

⌨️ 快捷键说明

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