在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ああ#$%&'(<>?/.,あああああ],它将抛出异常.我想知道是否有人可以帮助我一些提示能够编码并解码特殊字符?
非常感谢你提前.
我有以下功能:
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,所以我想知道是否有办法发现它的类型?我使用上面的代码,但它生成错误
先感谢您.
我有一个表单,在textarea中显示一些用户相关的信息.如果用户想要保存信息,他/她将从textarea复制文本,然后单击[保存]按钮,出现另存为对话框,允许用户选择合适的路径,然后将选定的文本导出到文本文件
问题是我不知道如何显示"另存为"对话框并将所选路径作为文本文件写入客户端站点(它可能使用Javascript或Jquery?).所以我想知道是否有人可以给我一些提示?
非常感谢你.
我必须在<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)
我想知道是否有人可以给我一些提示来解决这个问题.
非常感谢你.