servlet中何如获取a元素的href中设置的参数,获取中文出现乱码

servlet中何如获取a元素的href中设置的参数,获取中文出现乱码,第1张

你的页面中加个链接跳到你的Servlet中, 比如你的Servlet名字叫 test

你就加一个 <a href="testval=你要传的值">点我</a>

然后在Servlet中获取的时候 requestgetParamater("val");就可以获得!

出现乱码的原因及解决方法:

在Web开发中,挺多的时候都是通过超链接去传递中文参数的,这也会导致在显示的时候也会出现乱码,对于超链接来说,它实际上是向服务器端发送了一个请求,而它发出的请求是属于get请求,所以对于超链接的乱码来说,它处理乱码的方式和表单的get请求出现乱码的方式是一样的。

客户端的get请求

对于不同的请求方式,解决乱码的问题也是不一样的,对于客户端的get请求来说,服务器端处理要想不出现乱码,解决这个问题稍微复杂一些,需要用到String类型的构造函数,其中的一个构造函数就是用指定的编码方式去解码,一般都用“UTF-8”的方式。只要在服务器端将请求得到的参数重新构造成一个字符串就行了。如下所示:

String stuname = requestgetParameter("stuname");

String str = new String(stunamegetBytes("ISO-8859-1"),"utf-8")

经过构造之后,客户端输入中文,且表单时get请求的情况下,str就变成了中文了。如果请求参数比较多,最好将它封装成一个工具类:

public class MyUtil

{

public static String getNewString(String str) throws UnsupportedEncodingException

{

return new String(strgetBytes("ISO-8859-1"),"UTF-8");

}

}

String stuname= MyUtilgetNewString(requestgetParameter("stuname"));

主要有两种方式:

1 在action中定义跟表单的name字段同名的field,并生成相应的set方法,这样struts就会自动将参数值设好。

2 可以在action中获取原生的>();

即可。

给一个例子你,希望对你能有帮助

package dao;

import javaxservletFilter;

import javaxservletFilterConfig;

import javaxservletServletException;

import javaxservletServletRequest;

import javaxservletServletResponse;

import javaxservletFilterChain;

import javaioIOException;

import javaxservlet>

以上就是关于servlet中何如获取a元素的href中设置的参数,获取中文出现乱码全部的内容,包括:servlet中何如获取a元素的href中设置的参数,获取中文出现乱码、struts2如何获取请求参数、我怎么才能从ServletRequest request 中的到URL,参数我能得到。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9620899.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存