新聞中心
UrlQueryFilter

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比谷城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式谷城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋谷城地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
java.lang.Object
|---ohos.utils.net.UrlQueryFilter
public class UrlQueryFilter
extends Object提供基本的URL查詢分析能力,包括過濾無效字符和獲取查詢參數(shù)對(duì)。 一個(gè)簡(jiǎn)單的例子如下:
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 | 表示用于過濾掉查詢字符串中的無效字符并將其替換為空格或下劃線 (_) 的過濾器。 |
構(gòu)造函數(shù)摘要
| 構(gòu)造函數(shù) | 描述 |
|---|---|
| UrlQueryFilter() | 用于創(chuàng)建 UrlQueryFilter 實(shí)例的構(gòu)造函數(shù)。 |
方法總結(jié)
| 修飾符和類型 | 方法 | Description |
|---|---|---|
| protected void | addParams(Pair | 將過濾后的參數(shù)鍵值對(duì)添加到內(nèi)部 List 和 Map 對(duì)象。 |
| void | allowUnregisteredParameters(boolean allow) | 設(shè)置是否允許查詢未注冊(cè)的參數(shù)。 |
| boolean | containParameter(String paramName) | 根據(jù)指定的key檢查是否存在查詢參數(shù)對(duì)。 |
| static UrlQueryFilter.ValueFilter | filterEncodedUrl() | 獲得一個(gè) ValueFilter,它允許編碼 URL 中的所有可能字符。 |
| static UrlQueryFilter.ValueFilter | filterNulWithSpace() | Obtains a ValueFilter object that can replace /0 with a space. |
| boolean | getFirstPriority() | 獲取可以將 /0 替換為空格的 ValueFilter 對(duì)象。 |
| UrlQueryFilter.ValueFilter | getParameterFilter(String name) | 獲取指定參數(shù)鍵的ValueFilter。 |
| List | getParamsListFiltered() | 獲取所有查詢參數(shù)在 URL 中出現(xiàn)的順序的 List |
| Set | getParamsSetFiltered() | 獲取包含所有查詢參數(shù)的鍵的 Set |
| String | getParamValue(String paramName) | 獲取與 URL 查詢參數(shù)中指定鍵匹配的值。 |
| UrlQueryFilter.ValueFilter | getUnregisteredParamFilter() | 獲取用于過濾掉未注冊(cè)參數(shù)的ValueFilter。 |
| boolean | isAllowUnregisteredParameters() | 檢查是否允許查詢未注冊(cè)的參數(shù)。 |
| protected void | parseParamPair(String name, String value) | 解析轉(zhuǎn)義的查詢參數(shù)對(duì)。 |
| void | parseUrl(String url) | 解析指定的 URL。 |
| void | parseUrlQuery(String query) | 解析 URL 的指定查詢字符串。 |
| void | registerParameterFilter(String name, UrlQueryFilter.ValueFilter filter) | 為參數(shù)鍵指定一個(gè) ValueFilter 以過濾掉該鍵值的無效字符。 |
| void | setFirstPriority(boolean value) | 設(shè)置查詢參數(shù)對(duì)中重復(fù)鍵的值優(yōu)先級(jí)。 |
| void | setUnregisteredParamFilter(UrlQueryFilter.ValueFilter filter) | 為未注冊(cè)的參數(shù)鍵設(shè)置一個(gè) ValueFilter。 |
| String | unescapeString(String str) | 對(duì)指定的字符串進(jìn)行轉(zhuǎn)義。 |
| 從類 java.lang.Object 繼承的方法 |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
構(gòu)造函數(shù)詳細(xì)信息
UrlQueryFilter
public UrlQueryFilter()
用于創(chuàng)建 UrlQueryFilter 實(shí)例的構(gòu)造函數(shù)。
方法詳情
filterNulWithSpace
public static final UrlQueryFilter.ValueFilter filterNulWithSpace()
獲取可以將 /0 替換為空格的 ValueFilter 對(duì)象。
返回:
返回獲取的 ValueFilter 對(duì)象。
filterEncodedUrl
public static final UrlQueryFilter.ValueFilter filterEncodedUrl()
獲得一個(gè) ValueFilter,它允許編碼 URL 中的所有可能字符。
腳本 URL 不支持此方法。
返回:
返回ValueFilter
getParamsListFiltered
public List
獲取所有查詢參數(shù)在 URL 中出現(xiàn)的順序的 List
您應(yīng)該在執(zhí)行 parseUrl(java.lang.String) 方法后調(diào)用此方法。
返回:
返回一個(gè) List
getParamsSetFiltered
public Set
獲取包含所有查詢參數(shù)的鍵的 Set
您應(yīng)該在執(zhí)行 parseUrl(java.lang.String) 方法后調(diào)用此方法。 Set
返回:
返回包含所有查詢參數(shù)的鍵的 Set
setFirstPriority
public void setFirstPriority(boolean value)
設(shè)置查詢參數(shù)對(duì)中重復(fù)鍵的值優(yōu)先級(jí)。
如果 value 設(shè)置為 true,則匹配第一個(gè) key 的 value 具有最高優(yōu)先級(jí)。 如果 value 為 false(默認(rèn)設(shè)置),則匹配最后一個(gè)鍵的 value 具有最高優(yōu)先級(jí)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| value | 指定如果參數(shù)對(duì)中存在重復(fù)鍵,則匹配第一個(gè)鍵的值是否具有最高優(yōu)先級(jí)。 |
getFirstPriority
public boolean getFirstPriority()
檢查與參數(shù)對(duì)中第一個(gè)重復(fù)鍵匹配的值是否具有最高優(yōu)先級(jí)。
返回:
如果第一個(gè)鍵的值具有最高優(yōu)先級(jí),則返回 true; 否則返回 false。
getParamValue
public String getParamValue(String paramName)
獲取與 URL 查詢參數(shù)中指定鍵匹配的值。
如果鍵不存在,則返回 null。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| paramName | 指示要在查詢參數(shù)中匹配的鍵。 |
返回:
如果找到匹配項(xiàng),則返回值; 否則返回 null。
containParameter
public boolean containParameter(String paramName)
根據(jù)指定的key檢查是否存在查詢參數(shù)對(duì)。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| paramName | 表示要檢查的查詢參數(shù)對(duì)的鍵。 |
返回:
如果查詢參數(shù)對(duì)存在,則返回 true; 否則返回 false。
parseUrl
public void parseUrl(String url)
解析指定的 URL。
該方法提取 URL 中的查詢字符串,然后調(diào)用 parseUrlQuery(java.lang.String) 來解析查詢字符串。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| url | 表示要解析的URL。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果特定 url 為空,則拋出此異常。 |
parseUrlQuery
public void parseUrlQuery(String query)
解析 URL 的指定查詢字符串。
如果沒有給key賦值,查詢參數(shù)的key-value對(duì)會(huì)被解析為空String。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| query | 指示要解析的 URL 查詢字符串。 |
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| NullPointerException | 如果特定查詢?yōu)榭?,則引發(fā)此異常。 |
registerParameterFilter
public void registerParameterFilter(String name, UrlQueryFilter.ValueFilter filter)
為參數(shù)鍵指定一個(gè) ValueFilter 以過濾掉該鍵值的無效字符。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| name | 表示參數(shù)的key。 |
| filter | 指示要為鍵指定的 ValueFilter。 如果該值為空,則已注冊(cè)的鍵的 ValueFilter 將被移除。 |
getParameterFilter
public UrlQueryFilter.ValueFilter getParameterFilter(String name)
獲取指定參數(shù)鍵的ValueFilter。
如果參數(shù)key沒有注冊(cè),則返回null。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| name | 表示獲取其ValueFilter的key。 |
返回:
如果參數(shù)鍵已注冊(cè),則返回 ValueFilter; 如果找不到密鑰,則返回 null。
setUnregisteredParamFilter
public void setUnregisteredParamFilter(UrlQueryFilter.ValueFilter filter)
為未注冊(cè)的參數(shù)鍵設(shè)置一個(gè) ValueFilter。
如果沒有設(shè)置 ValueFilter 但允許未注冊(cè)的參數(shù),則默認(rèn)的 ValueFilter 將用于過濾掉所有特殊字符。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| filter | 表示用于過濾未注冊(cè)參數(shù)值的 ValueFilter。 |
getUnregisteredParamFilter
public UrlQueryFilter.ValueFilter getUnregisteredParamFilter()
獲取用于過濾掉未注冊(cè)參數(shù)的ValueFilter。
返回:
返回ValueFilter。
allowUnregisteredParameters
public void allowUnregisteredParameters(boolean allow)
設(shè)置是否允許查詢未注冊(cè)的參數(shù)。
默認(rèn)情況下,未注冊(cè)的參數(shù)不能用于查詢。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| allow | 指定是否允許查詢未注冊(cè)的參數(shù)。 true 表示允許未注冊(cè)的參數(shù),false 表示相反。 |
isAllowUnregisteredParameters
public boolean isAllowUnregisteredParameters()
檢查是否允許查詢未注冊(cè)的參數(shù)。
默認(rèn)情況下,未注冊(cè)的參數(shù)不能用于查詢。
返回:
如果允許未注冊(cè)的參數(shù),則返回 true; 否則返回 false。
unescapeString
public String unescapeString(String str)
對(duì)指定的字符串進(jìn)行轉(zhuǎn)義。
此方法將字符串中的 '+' 替換為 ' ',并將轉(zhuǎn)義字符 '%xx' 替換為相應(yīng)的字符。 無效的轉(zhuǎn)義字符不會(huì)被替換。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| str | 指示要取消轉(zhuǎn)義的字符串。 |
返回:
返回未轉(zhuǎn)義的字符串。
parseParamPair
protected void parseParamPair(String name, String value)
解析轉(zhuǎn)義的查詢參數(shù)對(duì)。
這個(gè)方法可以重載。 默認(rèn)情況下,轉(zhuǎn)義參數(shù)對(duì)使用其鍵的 ValueFilter 來過濾其值。 過濾后的參數(shù)對(duì)存儲(chǔ)在內(nèi)部 Map 和 List 對(duì)象中。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| name | 表示要解析的查詢參數(shù)對(duì)的鍵。 |
| value | 指示要解析的查詢參數(shù)對(duì)的值。 |
addParams
protected void addParams(Pair
將過濾后的參數(shù)鍵值對(duì)添加到內(nèi)部 List 和 Map 對(duì)象。
如果傳遞給 setFirstPriority(boolean) 方法的 value 參數(shù)設(shè)置為 true,則在重復(fù) key 的情況下使用匹配第一個(gè)添加 key 的 value; 否則,與最后添加的鍵匹配的值生效。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| entry | 表示過濾后要添加的參數(shù)鍵值對(duì)。 |
新聞標(biāo)題:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSUrlQueryFilter
網(wǎng)站鏈接:http://m.fisionsoft.com.cn/article/djophej.html


咨詢
建站咨詢
