创新互联-专业网站定制、快速模板网站建设、高性价比谷城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式谷城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖谷城地区。费用合理售后完善,10多年实体公司更值得信赖。
java.lang.Object
|---ohos.utils.net.UrlQueryFilter
public class UrlQueryFilter
extends Object
提供基本的URL查询分析能力,包括过滤无效字符和获取查询参数对。 一个简单的例子如下:
UrlQueryFilter urlFilter = new UrlQueryFilter(); String url = "http://www.xxx:port/xxxx/xxxx?name=tom&name=lily&age=20"; urlFilter.parseUrl(url);
修饰符和类型 | 类 | 描述 |
---|---|---|
static class | UrlQueryFilter.ValueFilter | 表示用于过滤掉查询字符串中的无效字符并将其替换为空格或下划线 (_) 的过滤器。 |
构造函数 | 描述 |
---|---|
UrlQueryFilter() | 用于创建 UrlQueryFilter 实例的构造函数。 |
修饰符和类型 | 方法 | Description |
---|---|---|
protected void | addParams(Pair | 将过滤后的参数键值对添加到内部 List 和 Map 对象。 |
void | allowUnregisteredParameters(boolean allow) | 设置是否允许查询未注册的参数。 |
boolean | containParameter(String paramName) | 根据指定的key检查是否存在查询参数对。 |
static UrlQueryFilter.ValueFilter | filterEncodedUrl() | 获得一个 ValueFilter,它允许编码 URL 中的所有可能字符。 |
static UrlQueryFilter.ValueFilter | filterNulWithSpace() | Obtains a ValueFilter object that can replace /0 with a space. |
boolean | getFirstPriority() | 获取可以将 /0 替换为空格的 ValueFilter 对象。 |
UrlQueryFilter.ValueFilter | getParameterFilter(String name) | 获取指定参数键的ValueFilter。 |
List | getParamsListFiltered() | 获取所有查询参数在 URL 中出现的顺序的 List |
Set | getParamsSetFiltered() | 获取包含所有查询参数的键的 Set |
String | getParamValue(String paramName) | 获取与 URL 查询参数中指定键匹配的值。 |
UrlQueryFilter.ValueFilter | getUnregisteredParamFilter() | 获取用于过滤掉未注册参数的ValueFilter。 |
boolean | isAllowUnregisteredParameters() | 检查是否允许查询未注册的参数。 |
protected void | parseParamPair(String name, String value) | 解析转义的查询参数对。 |
void | parseUrl(String url) | 解析指定的 URL。 |
void | parseUrlQuery(String query) | 解析 URL 的指定查询字符串。 |
void | registerParameterFilter(String name, UrlQueryFilter.ValueFilter filter) | 为参数键指定一个 ValueFilter 以过滤掉该键值的无效字符。 |
void | setFirstPriority(boolean value) | 设置查询参数对中重复键的值优先级。 |
void | setUnregisteredParamFilter(UrlQueryFilter.ValueFilter filter) | 为未注册的参数键设置一个 ValueFilter。 |
String | unescapeString(String str) | 对指定的字符串进行转义。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
public UrlQueryFilter()
用于创建 UrlQueryFilter 实例的构造函数。
public static final UrlQueryFilter.ValueFilter filterNulWithSpace()
获取可以将 /0 替换为空格的 ValueFilter 对象。
返回:
返回获取的 ValueFilter 对象。
public static final UrlQueryFilter.ValueFilter filterEncodedUrl()
获得一个 ValueFilter,它允许编码 URL 中的所有可能字符。
脚本 URL 不支持此方法。
返回:
返回ValueFilter
public List
获取所有查询参数在 URL 中出现的顺序的 List
您应该在执行 parseUrl(java.lang.String) 方法后调用此方法。
返回:
返回一个 List
public Set
获取包含所有查询参数的键的 Set
您应该在执行 parseUrl(java.lang.String) 方法后调用此方法。 Set
返回:
返回包含所有查询参数的键的 Set
public void setFirstPriority(boolean value)
设置查询参数对中重复键的值优先级。
如果 value 设置为 true,则匹配第一个 key 的 value 具有最高优先级。 如果 value 为 false(默认设置),则匹配最后一个键的 value 具有最高优先级。
参数:
参数名称 | 参数描述 |
---|---|
value | 指定如果参数对中存在重复键,则匹配第一个键的值是否具有最高优先级。 |
public boolean getFirstPriority()
检查与参数对中第一个重复键匹配的值是否具有最高优先级。
返回:
如果第一个键的值具有最高优先级,则返回 true; 否则返回 false。
public String getParamValue(String paramName)
获取与 URL 查询参数中指定键匹配的值。
如果键不存在,则返回 null。
参数:
参数名称 | 参数描述 |
---|---|
paramName | 指示要在查询参数中匹配的键。 |
返回:
如果找到匹配项,则返回值; 否则返回 null。
public boolean containParameter(String paramName)
根据指定的key检查是否存在查询参数对。
参数:
参数名称 | 参数描述 |
---|---|
paramName | 表示要检查的查询参数对的键。 |
返回:
如果查询参数对存在,则返回 true; 否则返回 false。
public void parseUrl(String url)
解析指定的 URL。
该方法提取 URL 中的查询字符串,然后调用 parseUrlQuery(java.lang.String) 来解析查询字符串。
参数:
参数名称 | 参数描述 |
---|---|
url | 表示要解析的URL。 |
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果特定 url 为空,则抛出此异常。 |
public void parseUrlQuery(String query)
解析 URL 的指定查询字符串。
如果没有给key赋值,查询参数的key-value对会被解析为空String。
参数:
参数名称 | 参数描述 |
---|---|
query | 指示要解析的 URL 查询字符串。 |
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果特定查询为空,则引发此异常。 |
public void registerParameterFilter(String name, UrlQueryFilter.ValueFilter filter)
为参数键指定一个 ValueFilter 以过滤掉该键值的无效字符。
参数:
参数名称 | 参数描述 |
---|---|
name | 表示参数的key。 |
filter | 指示要为键指定的 ValueFilter。 如果该值为空,则已注册的键的 ValueFilter 将被移除。 |
public UrlQueryFilter.ValueFilter getParameterFilter(String name)
获取指定参数键的ValueFilter。
如果参数key没有注册,则返回null。
参数:
参数名称 | 参数描述 |
---|---|
name | 表示获取其ValueFilter的key。 |
返回:
如果参数键已注册,则返回 ValueFilter; 如果找不到密钥,则返回 null。
public void setUnregisteredParamFilter(UrlQueryFilter.ValueFilter filter)
为未注册的参数键设置一个 ValueFilter。
如果没有设置 ValueFilter 但允许未注册的参数,则默认的 ValueFilter 将用于过滤掉所有特殊字符。
参数:
参数名称 | 参数描述 |
---|---|
filter | 表示用于过滤未注册参数值的 ValueFilter。 |
public UrlQueryFilter.ValueFilter getUnregisteredParamFilter()
获取用于过滤掉未注册参数的ValueFilter。
返回:
返回ValueFilter。
public void allowUnregisteredParameters(boolean allow)
设置是否允许查询未注册的参数。
默认情况下,未注册的参数不能用于查询。
参数:
参数名称 | 参数描述 |
---|---|
allow | 指定是否允许查询未注册的参数。 true 表示允许未注册的参数,false 表示相反。 |
public boolean isAllowUnregisteredParameters()
检查是否允许查询未注册的参数。
默认情况下,未注册的参数不能用于查询。
返回:
如果允许未注册的参数,则返回 true; 否则返回 false。
public String unescapeString(String str)
对指定的字符串进行转义。
此方法将字符串中的 '+' 替换为 ' ',并将转义字符 '%xx' 替换为相应的字符。 无效的转义字符不会被替换。
参数:
参数名称 | 参数描述 |
---|---|
str | 指示要取消转义的字符串。 |
返回:
返回未转义的字符串。
protected void parseParamPair(String name, String value)
解析转义的查询参数对。
这个方法可以重载。 默认情况下,转义参数对使用其键的 ValueFilter 来过滤其值。 过滤后的参数对存储在内部 Map 和 List 对象中。
参数:
参数名称 | 参数描述 |
---|---|
name | 表示要解析的查询参数对的键。 |
value | 指示要解析的查询参数对的值。 |
protected void addParams(Pair
将过滤后的参数键值对添加到内部 List 和 Map 对象。
如果传递给 setFirstPriority(boolean) 方法的 value 参数设置为 true,则在重复 key 的情况下使用匹配第一个添加 key 的 value; 否则,与最后添加的键匹配的值生效。
参数:
参数名称 | 参数描述 |
---|---|
entry | 表示过滤后要添加的参数键值对。 |
文章题目:创新互联鸿蒙OS教程:鸿蒙OSUrlQueryFilter
当前路径:http://www.shufengxianlan.com/qtweb/news47/266997.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联