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。
在公共编解码器中查看 URLCodec 在此处输入链接描述项目。
我认为您不需要对整个参数部分进行编码,而只需对这个特定参数的值进行编码。您可以使用以下方法对字符串进行编码:

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

您应该使用 encodedValue 作为传递给 saurl 参数的值。

于 2012-08-28T15:01:45.900 回答