ホームページ ウェブフロントエンド jsチュートリアル URLの特殊記号&処理(2つの方法)_JavaScriptスキルの簡単な処理例

URLの特殊記号&処理(2つの方法)_JavaScriptスキルの簡単な処理例

May 16, 2016 pm 05:38 PM
url 特殊記号

私が遭遇した問題は、URL のパラメーターの内容に & が含まれているということです。これを解決するには 2 つの方法があります。1 つは、JS を使用してページ上の
をトランスコードすることです。 (フロントエンド処理)

${group.cn })
<スクリプト言語="javascript">
function test(a,b){
alert("test");
location.href='groupsDetailServlet?groupTypeForDetail=' a '&cn=' encodeURIComponent(b);
}



2 番目の方法: バックエンドでの処理
1>jsp:

${group. cn }


2>Java Bean: グループ


コードをコピーします コードは次のとおりです:
表示される文字列 cn;//CN
パラメータが渡されたときの文字列 encodedCN;//CN
public Group(String cn) { this(); this.cn = cn; this.encodedCN =LdapUtil.encodeURLSr(cn); }
public void setCn (文字列名) { this.cn = name; LdapUtil.encodeURLSr(cn)); }
public String getCn () { return cn; }
public void setEncodedCN (String cn) = cn; }


3> 呼び出しクラスのデコード処理:


コードをコピーします コードは次のとおりです: String cn = LdapUtil.decodeURLStr(encodedCN) ;

4>LdapUtil.java


コピーcode コードは次のとおりです。 public static String encodeURLSr(String src)
{
return src != null && src.trim( ).length() > src.replaceAll("&", "@") : "";
}
public static String decodeURLStr(String src)
{
return src ! = null && src.trim().length() > src.replaceAll("@ ", "&") : "";
------------------------------------------以下は--- --インターネット検索 データ共有------------------------------------------ -
url を使用してパラメータを渡す この際、一部のパラメータや中国語名 (または特殊文字を含む) の URL アドレスが渡されることが多く、バックグラウンド処理中に変換エラーが発生します。一部の配信ページではGB2312が使用されており、受信ページではUTF8が使用されているため、受信したパラメータが元のパラメータと一致しない可能性があります。サーバー側の urlEncode 関数を使用してエンコードされた URL と、クライアント側の JavaScript の encodeURI 関数を使用してエンコードされた URL では、結果が異なります。 JavaScript のテキストのエンコードには、3 つの関数:escape、encodeURI、encodeURIComponent が含まれ、3 つのデコード関数に対応:unescape、decodeURI、decodeURIComponent

JavaScript のエンコード メソッド :
escape ( ) メソッド: 使用指定された文字列をエンコードするための ISO ラテン文字セット。 すべてのスペース、句読点、特殊文字、およびその他の非 ASCII 文字は、%xx 形式の文字エンコーディングに変換されます (xx は、文字セット テーブル内の文字エンコーディングの 16 進数と同じです)。たとえば、スペース文字に対応するエンコーディングは です。アンエスケープ方式はその逆です。このメソッドでエンコードされない文字: @ * /
encodeURI () メソッド: UTF-8 エンコード形式を使用して、URI 文字列をエスケープ形式の文字列に変換します。 このメソッドでエンコードされない文字: ! @ # $& * ( ) = : / ; '
encodeURIComponent () メソッド: UTF-8 エンコード形式を使用して、URI 文字列をエスケープ形式の文字列に変換します。 encodeURI() と比較して、このメソッドは / やその他の文字など、より多くの文字をエンコードします。 したがって、文字列に URI の複数の部分が含まれている場合、このメソッドを使用してエンコードすることはできません。そうしないと、/ 文字がエンコードされた後で URL にエラーが表示されます。このメソッドでエンコードされない文字: ! * ( )
したがって、中国語の文字列の場合、文字列エンコード形式を UTF-8 形式に変換したくない場合は、元のページの文字セットとターゲットページは一貫しています)、エスケープを使用してください。ページが GB2312 またはその他のエンコードで、パラメーターを受け入れるページが UTF-8 エンコードされている場合は、encodeURI または encodeURIComponent を使用する必要があります。

また、encodeURI/encodeURIComponentはjavascript1.5以降に導入され、javascript1.0ではエスケープが利用可能になりました。
1. 結合された URL が # などの特殊文字で切り捨てられないように、パラメーターを渡すときに encodeURIComponent を使用する必要があります。例:
2. URL ジャンプを行うときに encodeURI を全体として使用できます。 例: Location.href=encodeURI ("http://cang.baidu.com/do/s?word=Baidu &ct=21");
3. js がデータを使用する場合はエスケープを使用できます。 例: コレクション内の履歴レコード。
4.escapeが0-255以外のUnicode値をエンコードした場合、%u****形式で出力されます。それ以外の場合、escape、encodeURI、encodeURIComponentのエンコード結果は同じになります。

最も一般的に使用されるのは、中国語、韓国語、その他の特殊文字を utf-8 形式の URL エンコードに変換する encodeURIComponent です。そのため、encodeURIComponent を使用してパラメータをバックグラウンドに渡す必要がある場合は、バックグラウンドでのデコードが必要です。 utf-8 をサポートするため (フォーム内のエンコード方法は現在のページのエンコード方法と同じです)

エスケープでエンコードされない文字は 69 文字あります: *、-、.、/、 @、_、0-9、a-z、A-Z
encodeURI でエンコードされない文字は 82 文字あります: !、#、$、&、'、(、)、*、, , , - , 。 、 ; 、 = 、 ? 、 @ 、 _ 、 ~ 、 0-9 、 a-z 、 A-Z
encodeURIComponent には、 !、 '、 ( 、 ) 、 * 、 - 、 . 、 a-z 、 A-Z

URL には以下が含まれます URL 内で使用できる特殊文字とエンコードされた値: (省略)
encodeURI() エンコード変換が直接実行されることがプロジェクトで判明しましたURL のパラメータ部分を指定し、バックグラウンド サーブレットが getParamater() を通じて取得すると、変換せずに直接正しい値を取得できます。 注: 中国語ではパラメーターは使用されず、フレームワークは Struts フレームワークを使用します。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 関数の紹介 - get_headers(): URL の応答ヘッダー情報を取得します PHP 関数の紹介 - get_headers(): URL の応答ヘッダー情報を取得します Jul 25, 2023 am 09:05 AM

PHP 関数の紹介 - get_headers(): URL の応答ヘッダー情報の取得の概要: PHP 開発では、Web ページまたはリモート リソースの応答ヘッダー情報を取得する必要があることがよくあります。 PHP 関数 get_headers() を使用すると、対象 URL の応答ヘッダー情報を簡単に取得し、配列の形式で返すことができます。この記事では、get_headers() 関数の使用法を紹介し、関連するコード例をいくつか示します。 get_headers() 関数の使用法: get_header

e からの NameResolutionError(self.host, self, e) の理由とその解決方法 e からの NameResolutionError(self.host, self, e) の理由とその解決方法 Mar 01, 2024 pm 01:20 PM

エラーの理由は、urllib3 ライブラリの例外タイプである NameResolutionError(self.host,self,e)frome です。このエラーの理由は、DNS 解決が失敗したこと、つまり、ホスト名または IP アドレスが試みられたことです。解決できるものが見つかりません。これは、入力された URL アドレスが間違っているか、DNS サーバーが一時的に利用できないことが原因である可能性があります。このエラーを解決する方法 このエラーを解決するにはいくつかの方法があります。 入力された URL アドレスが正しいかどうかを確認し、アクセス可能であることを確認します。 DNS サーバーが利用可能であることを確認します。コマンド ラインで「ping」コマンドを使用してみてください。 DNS サーバーが利用可能かどうかをテストします。プロキシの背後にある場合は、ホスト名の代わりに IP アドレスを使用して Web サイトにアクセスしてみてください。

下線記号の入力方法 下線記号の入力方法 Feb 25, 2024 pm 09:42 PM

キーボードで下線を入力する方法_下線記号はコンピューターのキーボードの特別な記号であり、プログラミング、文書編集、Web デザインなどのさまざまな分野で広く使用されています。キーボードの下線記号の入力方法がわからない人も多いので、以下で詳しく紹介します。ほとんどの標準キーボードでは、下線記号はテンキーの右下隅にあります。下線記号を入力するには、Shift キーとその下のマイナス キー「-」(ダッシュとも呼ばれます)を押す必要があります。つまり、Shift キーを押しながらマイナス キーを同時に押すと、下線が引かれます。

htmlとurlの違いは何ですか htmlとurlの違いは何ですか Mar 06, 2024 pm 03:06 PM

相違点: 1. 定義が異なります。URL はユニフォーム リソース ロケーターであり、HTML はハイパーテキスト マークアップ言語です。 2. HTML には多数の URL を含めることができますが、URL 内に存在できる HTML ページは 1 つだけです。 3. HTML は is を指します。 Web ページ、url は Web サイトのアドレスを指します。

いくつかの手順で Steam ID を取得するにはどうすればよいですか? いくつかの手順で Steam ID を取得するにはどうすればよいですか? May 08, 2023 pm 11:43 PM

現在、ゲームを愛する多くの Windows ユーザーが Steam クライアントにアクセスし、優れたゲームを検索、ダウンロードしてプレイすることができます。ただし、多くのユーザーのプロフィールがまったく同じ名前である可能性があるため、プロフィールを見つけたり、Steam プロフィールを他のサードパーティのアカウントにリンクしたり、Steam フォーラムに参加してコンテンツを共有したりすることさえ困難になります。プロファイルには一意の 17 桁の ID が割り当てられます。ID は変更されず、ユーザーがいつでも変更することはできませんが、ユーザー名またはカスタム URL は変更できます。いずれにせよ、一部のユーザーは自分の Steamid を知らないため、これを知ることが重要です。アカウントの Steamid を見つける方法がわからなくても、慌てる必要はありません。記事上で

Java で URL エンコードとデコードを使用する方法 Java で URL エンコードとデコードを使用する方法 May 08, 2023 pm 05:46 PM

url を使用して、クラス java.net.URLDecoder.decode(url, decoding format) decoder.decoding メソッドのエンコードとデコードをエンコードおよびデコードします。通常の文字列に変換するには、URLEncoder.decode(url, エンコード形式) を使用して、通常の文字列を指定された形式の文字列に変換します。 packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net。 URLエンコーダ

WeChatニックネームで特殊記号を取得する方法 WeChatニックネームで特殊記号を取得する方法 Sep 20, 2023 pm 02:43 PM

WeChat ニックネーム用の特殊記号を取得する方法は、システム独自の記号キーボード、サードパーティの記号キーボード アプリケーション、特殊記号ジェネレーター Web サイト、または Unicode エンコーディングを通じて取得できます。詳細な紹介: 1. システム独自の記号キーボード。iOS デバイスの場合は、キーボードの記号キーを押したままにします。Android デバイスの場合は、キーボードの記号キーを押したままにして、目的の記号を選択します。 2. 3 番目- パーティー記号キーボード アプリケーション 絵文字キーボードや記号キーボードなどのプログラム; 3. 特殊記号ジェネレーター Web サイトなど

Scrapy 最適化のヒント: 重複 URL のクロールを減らし、効率を向上させる方法 Scrapy 最適化のヒント: 重複 URL のクロールを減らし、効率を向上させる方法 Jun 22, 2023 pm 01:57 PM

Scrapy は、インターネットから大量のデータを取得するために使用できる強力な Python クローラー フレームワークです。ただし、Scrapy を開発する場合、重複した URL をクロールするという問題が頻繁に発生します。これは、多くの時間とリソースを無駄にし、効率に影響を与えます。この記事では、重複 URL のクロールを減らし、Scrapy クローラーの効率を向上させるための Scrapy 最適化テクニックをいくつか紹介します。 1. Scrapy クローラーの start_urls 属性と allowed_domains 属性を使用して、

See all articles