0

パラメータをサーバーラインに渡します

"login=testAva4&nick=testAvaNick&social=vk&saurl=http://domain.example?param1=1&param2=2&param3=3&maurl=1"

値として待機 saurl="http://domain.example?param1=1¶m2=2¶m3=3"

しかし、私はhttp://domain.example?param1=1と param2=2 param3=3 を取得します

Eclipse デバッグから

req->_parameters

{maurl=1, nick=testAvaNick, param2=2, saurl=http://domain.example?param1=1, param3=3, social=vk, login=testAva4}

次のようなコードでパラメーターを取得します。

public class AddProfileServlet extends PlacerServlet {

    //Add new profile method
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        //Receive variables from URL
        String login = req.getParameter("login");
        String nick = req.getParameter("nick");
        String social = req.getParameter("social");
        String saurl = req.getParameter("saurl");
4

1 に答える 1

0

saurl パラメータで URLEncoding を使用する必要があります。
commons codec の URLCodec を参照して、ここにリンクの説明を入力してください。
パラメータ部分全体をエンコードする必要はないと思いますが、この特定のパラメータの値だけをエンコードします。以下を使用して文字列をエンコードできます。

URLCodec codec = new URLCodec();
String encodedValue = codec.encode(valueToEncode);

そして、saurl パラメータに渡される値として encodedValue を使用する必要があります。

于 2012-08-28T15:01:45.900 に答える