小编Phu*_*yen的帖子

URL编码和解码Java中的特殊字符

在Java中,我需要使用HTTP Post向服务器发送请求,但如果在URL的参数中包含一些特殊字符,则抛出以下异常

java.lang.IllegalArgumentException:URLDecoder:转义(%)模式中的非法十六进制字符 - 对于输入字符串:"&'"

发送数据的代码

DefaultHttpClient httpclient = new DefaultHttpClient(); 
   HttpPost httpPost = new HttpPost(URL); 

   String sessionId = RequestUtil.getRequest().getSession().getId();
   String data = arg.getData().toString();

   List<NameValuePair> params = new ArrayList<NameValuePair>();   
   params.add(new BasicNameValuePair(param1, data));
   params.add(new BasicNameValuePair(param2, sessionId));
         httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));           

   HttpResponse response = (HttpResponse) httpclient.execute(httpPost);
Run Code Online (Sandbox Code Playgroud)

在服务器端,我使用以下代码来读取信息

 String data = request.getParameter(param1);
   if (data != null) {
    actionArg = new ChannelArg(URLDecoder.decode(data, "UTF-8"));
   }
Run Code Online (Sandbox Code Playgroud)

代码工作正常,但如果我输入一些特殊的字符,如[aああ#$%&'(<>?/.,あああああ],它将抛出异常.我想知道是否有人可以帮助我一些提示能够编码并解码特殊字符?

非常感谢你提前.

java urlencode

16
推荐指数
2
解决办法
6万
查看次数

在Java中的List中获取泛型类型

我有以下功能:


    public <T> void putList(String key, List<T> lst){
          if (T instanceof String) {
          // Do something       
          }
          if (T instanceof Integer) {
          // Do something   
          }
    }
Run Code Online (Sandbox Code Playgroud)

在这个函数里面,我想知道<T>是String还是Integer,所以我想知道是否有办法发现它的类型?我使用上面的代码,但它生成错误

先感谢您.

java generics

7
推荐指数
2
解决办法
2万
查看次数

显示"另存为"对话框,并将textarea中所选文本的内容保存到客户端PC上的文件中

可能重复:
仅使用Javascript(无服务器端)将textarea内容下载为文件

我有一个表单,在textarea中显示一些用户相关的信息.如果用户想要保存信息,他/她将从textarea复制文本,然后单击[保存]按钮,出现另存为对话框,允许用户选择合适的路径,然后将选定的文本导出到文本文件

问题是我不知道如何显示"另存为"对话框并将所选路径作为文本文件写入客户端站点(它可能使用Javascript或Jquery?).所以我想知道是否有人可以给我一些提示?

非常感谢你.

html javascript

5
推荐指数
1
解决办法
2万
查看次数

在数据库的<div>标记中显示换行符

我必须在<div>标签内的数据库中显示一篇文章.本文从textarea插入到数据库中.我的问题是:我无法准确显示我从textarea插入的结构(包括换行符)

我尝试使用下面的代码将输入字符替换为<br>标记,但它不起作用

<div id="tmpId">${f:h(dto.accPassage)}</div>

<script>
    $(function(){
        $('#tmpId').html($('#tmpId').html().replace(/\n/g, '<br />'));
    })
</script>
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人可以给我一些提示来解决这个问题.

非常感谢你.

java database jquery line-breaks

3
推荐指数
1
解决办法
4505
查看次数

标签 统计

java ×3

database ×1

generics ×1

html ×1

javascript ×1

jquery ×1

line-breaks ×1

urlencode ×1