-1

javascriptを使用してjspで文字列をエンコードし、この文字列をスプリングコントローラーに送信し、この文字列をJavaでデコードする必要があります。現在、このようなことをしています

javascript - jspで

 if(/^.%[a-zA-Z0-9- ]*$/.test(comments) == false) {
       // alert('Your comments contains illegal characters.');
        var encodedComments = encodeURI(comments);
        //alert(encodedComments);
    } else{
        var encodedComments = comments;
        //alert(encodedComments);
        }

コントローラーで

String regex = "[a-zA-Z0-9-/.^%$/ ]*";
        boolean m = Pattern.matches(regex, data[6]);
        if (m == true) {
           System.out.println("There is a sp. character in the string");
           try {
            comments = URLDecoder.decode(data[6], "UTF-8");
            logger.info("The decoded string comments============>>>>>>>>>>>"+comments);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        } else {
            System.out.println("There is no sp. char.");
                comments = data[6];
                logger.info("The remarks with no special characters is ============>>>>>>>>>>>"+comments);
        }

例:テキストエリアにコメントを付けました:スコア6.08%のように、エンコードされた文字列は正しく来ていますが、デコードされた文字列は機能していません。スコア6を印刷しているだけです。javascriptでエンコードされたJavaの文字列をデコードするにはどうすればよいですか?? ここで何かが足りないのですか??

どんな助けでも素晴らしいでしょう。

前もって感謝します。

4

1 に答える 1

0

javascript側では、encodeURIComponentを介して常にエンコードを行う必要がありますJava側では、常にデコードを行う必要があります.QUERY_STRINGから直接読み取る場合は、request.getParameterから読み取る場合-デコードはまったく必要ありません

于 2013-10-23T03:02:00.870 に答える