jsp 通过form向servlet提交中文数据
form表单提交过程
Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源。
虽然 WebForms框架为了帮助我们简化开发工作,做了很完美的封装,让我们只需要简单地使用服务端控件就可以直接操作那些HTML表单元素了。
但我认为了解一些基础的东西,可以使我们不必束缚在WebForms框架上,以及遇到一些奇怪问题时,可以更从容地解决它们。
今天,我将和大家来聊聊表单,这个简单又基础的东西。
我将站在HTML和单纯的 框架的角度来解释它们的工作方式,因此,本文不演示WebForms服务器控件的相关内容。
回到顶部简单的表单,简单的处理方式好了,让我们进入今天的主题,看看下面这个简单的HTML表单。
<form action="Handler1.ashx" method="post" ><p>客户名称: <input type="text" name="CustomerName" style="width:300px" /></p><p>客户电话: <input type="text" name="CustomerTel" style="width: 300px" /></p><p><input type="submit" value="提交" /></p></form>在这个HTML表单中,我定义了二个文本输入框,一个提交按钮,表单将提交到Handler1.ashx中处理,且以POST的方式。
注意哦,如果我们想让纯静态页面也能向服务器提交数据,就可以采用这样方式来处理:将action属性指向一个服务器能处理的地址。
jsp页面传值中文乱码 网页乱码 jsp过滤器过滤乱码等乱码处理办法
一、jsp页面间传值中文乱码问题解决办法<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <form action="b.jsp">name:<input type=text name=name><input type=submit></form>b.jsp页面内容:<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <%String name=request.getParameter("name");%><body><%=name%></body>现象:中文乱码,比如“??????”解决方法如下:方法一:1. 在b.jsp中把pageEncoding="GB2312"改为pageEncoding="ISO885Array-1"虽然这样b.jsp页面显示的内容还是乱码,但是不是那种“??????”的乱码,而是一些特殊字符2. 然后在浏览器中查看菜单中修改成GB2312的编码,这时乱码就显示中文了。
3. 但是这种方法是不可行的。
方法二:( 已经验证可行)1. 在b.jsp中把String name=request.getParameter("name");修改为String name=new String(request.getParameter("name").getBytes("ISO-885 Array-1"),"GB2312");2. 这时再在页面上显示,则就是中文了。
jspjava乱码解决
中文乱码总结:1-->响应中的乱码:单个页面中,如果出现中文(注意不是post中文也不是get中文,只是显示中文而已),而且使用的是<%@page contentType="text/html;charset=iso-8859-1"%> 此时显示的中文就是乱码,为什么呢?因为charset=iso-8859-1 是设置http的响应(response)中的编码信息,因为是中文,所以http给浏览器显示的汉字是乱码。
2-->post乱码:两个页面(或多个页面)通过form表单post传值(form的默认提交方式都是GET)时,这里与1不同,为什么呢?因为此时发送了请求有request,而1中没有request只是响应而已。
发送请求的时候,使用的编码默认的是iso-8859-1,意味着只有英文是有效字符,这个限制是因为当初指定http标准的成员都来自英语国家,所以如果使用默认的方式从请求获取数据,中文一定会全部变成乱码。
此时就要加上request.setCharacterEncoding("gbk");有了请求request.setCharacerEncoding("gbk")编码方式和http的响应(response)中的编码信息<%@pagecontentType="text/html;charset=gbk"%>两个都gbk,此时body中的(注意是body,如果是url就会有问题往下看就知道了)中文就不会显示为乱码a---乱码出现的过程是这样的,传的是汉字,发送请求的默认编码是iso-8859-1,此时把汉字按iso-8859-1转码出现问题出现??或莫名的符号,响应的时候位数都打乱了(iso-8859-1和gbk编码位数不一样),虽然<%@pagecontentType="text/html;charset=gbk"%>但还是会出现乱码。
说明 servlet 的三种访问方式
说明 servlet 的三种访问方式Servlet是Java语言编写的服务器端组件,用于处理客户端的请求并生成响应。
Servlet的访问方式有三种:通过URL直接访问、通过表单提交数据访问和通过AJAX异步请求访问。
一、通过URL直接访问通过URL直接访问Servlet是最常见的方式之一。
在浏览器地址栏中输入Servlet的URL,就可以直接访问该Servlet。
URL的格式通常为:http://服务器地址:端口号/项目名/Servlet路径。
例如,假设服务器地址是localhost,端口号是8080,项目名是myapp,Servlet的路径是myservlet,则访问该Servlet的URL为:http://localhost:8080/myapp/myservlet。
通过URL直接访问Servlet时,可以通过URL参数传递数据给Servlet。
例如,可以在URL中添加参数name=张三,让Servlet根据该参数生成相应的响应。
URL参数的格式为:?参数名1=参数值1&参数名2=参数值2&...。
例如,访问Servlet的URL为:http://localhost:8080/myapp/myservlet?name=张三。
二、通过表单提交数据访问通过表单提交数据访问Servlet是常用的方式之一。
在HTML页面中,可以使用<form>标签创建一个表单,设置表单的action属性为Servlet的URL,设置表单的method属性为POST或GET,然后在表单中添加各种输入元素,用户填写完表单后点击提交按钮,表单数据会被发送到Servlet进行处理。
在Servlet中,可以通过HttpServletRequest对象的getParameter方法获取表单提交的数据。
例如,假设表单中有一个输入框的name属性为name,用户填写了姓名为张三,那么在Servlet中可以通过getParameter("name")方法获取到该值。
Jsp传递中文参数详解
Jsp传递中文参数详解目前在jsp页面中传递中文参数,主要有两种方式:URL(GET)方式,例如:http://website/test1.jsp?act=add&type=桔子¶m=%20D%20BFORM(POST)方式,例如:<form name=test mehtod="post"><input type=hidden name=text2 value="中文"><input type=text name=text1><input type=submit value=submit></form>下面针对这两种情况,分别提供中文正确传递的解决方法方式1:URL方式例如:http://website/test1.jsp?act=add&type=桔子¶m=%20D%20B一般来说我们很少直接在URL里面把参数写成中文,如例子中的"type=桔子"这样传递。
如果出现这种情况,在我们的接收参数的页面我们只需要做个简单的转换就可以了。
代码test1.jsp:(主要部分)<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> <%String type = request.getParameter("type");String result = new String(type.getBytes("iso-8859-1"), "gb2312");out.println(result);%>还有更普遍的做法是对url中的中文字符进行编码,变成类似type=%20D%20B这样的字符。
JSP页面间传递参数
JSP页面间传递参数有时还需要多个JSP页面间传递参数。
下面介绍一下实现的方法。
(1)直接在URL请求后添加如:< a href="thexuan.jsp?action=transparams&detail=directe">直接传递参数< /a>特别的在使用response.sendRedirect做页面转向的时候,也可以用如下代码:response.sendRedirect("thexuan.jsp?action=transparams&detail=directe") ,可用request.getParameter(name)取得参数(2)jsp:param它可以实现主页面向包含页面传递参数,如下:< jsp:include page="Relative URL"> < jsp:param name="param name" value="paramvalue" /> < /jsp:include> 还可以实现在使用jsp:forward动作做页面跳转时传递参数,如下:< jsp:forward page="Relative URL"> < jsp:param name="paramname" value="paramvalue" /> < /jsp:forward> 通过这种方式和一般的表单参数一样的,也可以通过request.getParameter(name)取得参数(3)设置session和request通过显示的把参数放置到session和request中,以达到传递参数的目的session.setAttribute(name,value); request.setAttribute(name,value) 取参数:value=(value className)session.getAttribute(name); value=(value className)request.getAttribute(name); 大家肯定已经注意到了,在取参数的时候,做了类型转换,这是因为放置在session和request中的对象的属性被看作ng.Object类型的了,如果不转换,在将直付给value时会报classcastexception异常。
jsp页面传值中文乱码问题解决
JSP中文乱码种类
1.JSP文件中文内容显示乱码
2.调用Servlet显示乱码
3.Post表单乱码
4.Get参数乱码
5.存取数据库乱码
1
•通过浏览器调用JSP页面,在客户端浏览器中所有的中文内容出现乱码
•解决方案:替换ISO-8859-1,修改页面编码为UTF-8
调用Servlet显示乱码
•通过浏览器调用Servlet,Servlet在浏览器中显示内容出现乱码
调用Servlet显示乱码
•解决方案:在Servlet使用response在输出内容之前,先执行response.setContentType("text/html;charset=UTF-8")设定输出内容的编码为UTF-8
Post表单乱码
•提交页面表单元素给对应的JSP页面或者Servelt后,接收方出现表单数据中文值乱码
Post表单乱码
•解决方案:在接收POST提交的参数之前,使用request.setCharacterEncoding(“UTF-8")设定接收参数的内容使用UTF-8编码
Get查询字符串乱码
•用Get方式传递参数,中文字符会出现乱码
ISO8859_1ISO8859_1gb2312gb2312
客户端通过GET 提交中文编码问题简单流程:
假如:
客户端和服务器用gb2312
HTTP 传输编码用ISO8859_1
则:
服务器需要指示客户端文档的编码方式
Get查询字符串乱码
•解决方案:Get提交默认是以ISO88591传递,如果容器没有做配置修改,程序则需要手工进行编码转换
存取数据库乱码
•解决方案:在数据库连接参数中设置编码值。
几种JSP页面传值方式
function demo(){
var v = document.all('username').value;
location.replace("V.jsp?username="+v+"&age=25");
}
</script>
<input type="text" name="username"><br>
<input type="button" value="href点击" onclick="location.href='V.jsp?pwd=123456'"><BR>
<input type="button" value="replace点击"
onclick="location.replac('V.jsp?pwd=123456789')">
<br>
<input type="button" value="动态取值" onclick="demo()">
注:数用button
a.
<input name="btnModify" type="button" class="button1" onClick="self.location='client_modify.jsp?id=<%=id %>'"
java表单from用法
java表单from用法一、概述Java表单Form是一种常用的用户输入方式,用于收集用户数据并提交给服务器进行处理。
在Java Web应用程序中,表单通常用于创建HTML表单页面,以收集用户输入的数据,并将其传递给Java Servlet或JSP页面进行处理。
二、表单元素Java表单Form通常包含以下元素:1. 表头:包含表单标题和提交按钮。
2. 输入框:用于接收用户输入的数据,可以包含文本框、密码框、多行文本框等。
3. 单选按钮:用于选择单个选项。
4. 复选框:用于选择多个选项。
5. 下拉列表:用于选择指定选项。
6. 表单:将多个表单元素组合在一起,形成一个完整的表单。
三、表单数据传递方式Java表单Form的数据可以通过以下方式传递给服务器:1. POST方法:通过HTTP协议将表单数据作为请求体发送给服务器。
2. GET方法:通过URL参数将表单数据附加到请求URL中,并在浏览器中显示出来。
3. 隐藏字段:将表单数据添加到表单的隐藏字段中,并在提交时一起发送给服务器。
四、表单数据处理Java Servlet或JSP页面可以使用Java代码处理表单数据,通常需要使用HttpServletRequest对象获取表单数据。
具体步骤如下:1. 获取表单数据:使用HttpServletRequest对象的getParameter()方法获取表单中的各个字段值。
2. 数据验证:对获取到的数据进行验证,确保数据的合法性和有效性。
3. 数据存储:将验证后的数据存储到数据库或应用程序中。
4. 响应结果:根据数据处理结果返回相应的响应,如重定向到其他页面或显示结果信息。
五、示例代码以下是一个简单的Java表单Form示例代码,用于收集用户姓名和年龄信息,并将其传递给Servlet进行处理:HTML表单页面(form.html):```html<form action="processForm.java" method="post">姓名:<input type="text" name="name"><br>年龄:<input type="number" name="age"><br><input type="submit" value="提交"></form>```Java Servlet处理代码(processForm.java):```java@WebServlet("/processForm")public class processForm extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String name = request.getParameter("name");int age =Integer.parseInt(request.getParameter("age"));// 进行数据验证和处理,这里省略具体代码...// ...根据数据处理结果返回响应...}}```以上代码中,HTML表单页面通过POST方法将数据传递给Java Servlet进行处理。
JSP 通过表单向Servlet提交数据
JSP 通过表单向Servlet提交数据在前面的小节中,介绍了Servlet的概念和生命周期,读者应对Servlet有个大致的了解。
为了让读者对Servlet的开发和部署有一个直观的认识,现在创建一个案例,演示在JSP页面中通过表单访问Servlet程序。
该案例主要实现Servlet用户登录功能,包含一个登录显示页面和登录处理页面。
1.编写代码首先编写实现登录显示的页面。
打开记事本,创建Login.jsp文件,并输入下面的代码:t表示一个Servlet的URL。
打开记事本,创建LoginServlet文件,并输入下面代码:创建类LoginServlet继承HttpServlet类,HttpServlet类是实现Servlet程序必须要继承的类。
该类包含三个方法,init()、service()和destory()方法。
其中init方法属于初始化方法,service()方法处理用户请求,destroy()方法销毁资源。
在service()方法中,主要负责输出响应字符串。
其中代码“response.setContentType()方法表示设置响应网页的编码形式”,代码“PrintWriter out=response.getWriter()”表示获得一个输出流对象out。
2.部署和编译文件上述文件编写完成后,将Login.jsp复制到C:\Tomcat 6.0\webapps\JSPExample 目录下,将LoginServlet.java文件复制到C:\Tomcat 6.0\webapps\JSPExample\WEB-I NF\classes目录下。
部署完成后,编译LoginServlet.java文件,打开命令提示符窗口,使用“javac –d .LoginServlet.java ”命令编译Servlet文件。
在classes文件夹下的test文件夹内,会自动生成一个LoginServelt.class文件。
jsp页面向action传值中文乱码的问题
JSP页面向action传值时中文乱码的问题,记得以前做项目的时候出现过,后来我到网上搜索了一系列的资料,把所有别人说要加的条件都加上去,稀里糊涂就解决了。
最近做一个项目,又遇到这个问题,我决定试一试究竟需要注意哪几点就可以解决乱码的问题。
下面是我的结论。
1>在页面首行<%@ page langusge=”java” import=”java.util.*”pageEncoding=”UTF-8”>2>将此句加上<meta http-equiv=”Content-Type” content=”text/html;charset=UTF-8” />。
这句的意思是文档类型为html,我试过,如果这句不加,有时候没问题,有时候只要打开这个页面,上面的中文直接乱码,还没等到传值给action。
只要在页面上加上上面两条,传值给action是没有中文乱码的问题的。
而且我在web.xml特意将<filter><filter-name>EncodingFilter</filter-name><filter-class>common.util.EncodingFilter</filter-class> <init-param><param-name>characterEncoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>enabled</param-name><param-value>false</param-value></init-param></filter><filter-mapping><filter-name>EncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>注释掉,依然没有乱码。
form表单提交的方法
form表单提交的方法在现代Web开发中,form表单是一种常用的数据提交方式。
当用户需要向服务器提交数据时,可以通过form表单来实现。
本文将介绍form表单提交的方法及其相关内容。
一、什么是form表单form表单是HTML中的一个标签,它用于收集用户输入的数据,并将这些数据发送到服务器。
通常,form表单包含一系列的输入字段(如文本框、复选框、单选框等),以及一个提交按钮。
用户填写完表单后,可以点击提交按钮将数据发送给服务器。
二、form表单的属性form表单有多个属性,用于定义表单的行为和样式。
其中一些常用的属性包括:1. action:指定表单数据提交到的URL地址。
可以是相对路径或绝对路径,但不应包含http地址。
2. method:指定表单提交的HTTP方法,常见的有GET和POST两种。
3. enctype:指定表单数据的编码类型,常见的有application/x-www-form-urlencoded和multipart/form-data。
4. target:指定服务器返回的响应数据将在何处展示,常见的有_blank(在新窗口打开)和_self(在当前窗口打开)。
三、form表单的提交方式form表单有两种提交方式:GET和POST。
1. GET方式提交GET方式是最常见的表单提交方式,它将表单数据附加在URL的查询字符串中,并通过HTTP的GET方法发送给服务器。
GET方式提交的特点是参数以键值对的形式出现在URL中,适合用于查询操作。
例如,用户在一个搜索表单中输入关键字后,点击提交按钮,浏览器将会将关键字以GET方式提交给服务器,服务器根据关键字进行搜索并返回结果。
2. POST方式提交POST方式将表单数据放在HTTP请求的消息体中,并通过HTTP的POST方法发送给服务器。
POST方式提交的特点是参数不会出现在URL中,适合用于提交操作。
例如,当用户在注册表单中输入用户名和密码后,点击提交按钮,浏览器将会将用户名和密码以POST方式提交给服务器,服务器将保存用户信息并返回注册成功的页面。
form表单input的submit传值
form表单的各种input的submit传值1.在服务器端获取参数的时候,HttpServletRequest.getParameter(String name)方法的返回结果根据如下情况区分:1.1请求消息中不包含这个参数,返回null。
1.2请求消息中包含这个参数,但是没有值。
例如param1=¶m2=123中的param1。
这种情况下返回空字符串””。
1.3请求消息中包含多个命名相同的参数。
例如param1=1¶m1=2中的param1。
这种情况下,返回第一个参数的值。
例如上面的1。
如果使用HttpServletRequest.getParameterValues(String name),则返回一个包含所有命名相同的值的Sring数组。
2.<input type="submit" name=" " value=" ">。
一个页面中可以有多个submit元素,点击某个submit按钮的时候,浏览器会将form的数据封转后发送给服务器,其中包括一对当前点击的submit信息的数据,为当前点击submit按钮的name和value。
其他不点击的submit 按钮不传递name和value值。
所以可以通过如下语句判断点击了那个submit按钮。
if(req.getParameter("submit按钮的name属性") !=null&&req.getParameter("submit按钮的name属性").equals("submit按钮的value属性")){执行语句}如果某个submit按钮没有name属性。
点击这个按钮的时候,浏览器也会将form的数据封转后发送给服务器,但是不包含submit按钮本身的name和value信息。
总结JSP与servlet之间的传值
总结JSP与servlet之间的传值JSP与servlet之间的传值有两种情况:JSP -> servlet,servlet -> JSP。
通过对象request和session (不考虑application)完成传值。
一、JSP -> servletJSP页面有3种方法向servlet传值:form表单、URL 、其他<!-- JSP page -->...<%......session.setAttribute("testSession","Hello session");reqeust.setAttribute("testRequest","Hello request");%><a href="JspServlet?action=toServlet">click me</a><form action="JspServlet?action=toServlet" method="post" name="form"><input name="username" type="test" /><input type="submit" value="submit"></form>...1、对于该JSP页面form表单的内容,如<input>标签,在servlet可用request.getParameter("username");获取。
2、URL:比如这里的<a>标签的href属性与<form>标签的action属性的值"JspServlet?action=toServlet",在servlet同样用request.getParameter("action")获取;所要注意的是这里的url 要和servlet在web.xml里的<url-pattern>标签的路径所对应。
解决中文乱码的几种解决方法(推荐)
解决中⽂乱码的⼏种解决⽅法(推荐)⾸先说明我的特殊情况:1. 前台jsp中,我使⽤的是 form post 请求,设置了 enctype="multipart/form-data" ,页⾯编码格式都是utf-82. 后台中,我使⽤的是commons-fileUpload组件,ServletFileUpload 解析form表单和⽂件,3. 设置 request.setCharacterEncoding("UTF-8");4. 设置了ServletFileUpload .setHeaderEncoding("UTF-8");5.Tomcat 的配置下⾯ server.xml 也已经设置了 URIEncoding="UTF-8";⾄此,按道理所有的格式都匹配上了,前后对应,解析出来的肯定是utf-8,但是经过formfield解析出来后任然是ISO-8859-1格式的编码,enctype="multipart/form-data" 会将数据以2进制的编码格式传递,因此我断定是 ServletFileUpload 解析时出了问题,多番查找,我的问题缺少了⼀步String formFieldValue = fileItem.getString("UTF-8");JSP和Servlet的六种中⽂乱码处理⽅法⼀、表单提交时出现乱码:在进⾏表单提交的时候,经常提交⼀些中⽂,⾃然就避免不了出现中⽂乱码的情况,对于表单来说有两种提交⽅式:get和post提交⽅式。
所以请求的时候便有get请求和post请求。
每种⽅式都有着不同的解决⽅法,之所以出现乱码,原因就在于get 请求时,其传递给服务器的数据是附加在URL地址之后的;⽽post的请求时,其传递给服务器的数据是作为请求体的⼀部分传递给服务器。
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
js的form表单提交url传参数(包含+等特殊字符)的两种解决⽅法⽅法⼀:(伪装form表单提交)linkredwin = function(A,B,C,D,E,F,G){var formredwin = document.createElement("form");formredwin.method = 'POST';document.body.appendChild(formredwin);formredwin.action = "/A.wiki?A="+encodeURI(A) + "&B="+encodeURIComponent(B) + "&C="+encodeURI(C) + "&D="+encodeURI(D) + "&E="+encodeURI(E) + "&F="+encodeURI(F)+"&G="+encodeURI(G);formredwin.submit();formredwin.parentNode.removeChild(formredwin);}⽅法⼆:1. + URL 中+号表⽰空格 %2B2. 空格 URL中的空格可以⽤+号或者编码 %203. / 分隔⽬录和⼦⽬录 %2F4. ? 分隔实际的 URL 和参数 %3F5. % 指定特殊字符 %256. # 表⽰书签 %237. & URL 中指定的参数间的分隔符 %268. = URL 中指定参数的值 %3D以上这篇js的form表单提交url传参数(包含+等特殊字符)的两种解决⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
JSP出现中文乱码问题解决方法详解
JSP出现中⽂乱码问题解决⽅法详解在介绍⽅法之前我们⾸先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中⽂乱码问题有如下⼏个⽅⾯:页⾯乱码、参数乱码、表单乱码、源⽂件乱码。
下⾯来逐⼀解决其中的乱码问题。
⼀、JSP页⾯中⽂乱码在JSP页⾯中,中⽂显⽰乱码有两种情况:⼀种是HTML中的中⽂乱码,另⼀种是在JSP中动态输出的中⽂乱码。
先看⼀个JSP程序:<%@ page language="java" import="java.util.*" %><html><head><title>中⽂显⽰⽰例</title></head><body>这是⼀个中⽂显⽰⽰例:<%String str = "中⽂";out.print(str);%></body></html>上⾯这个JSP程序看起来好像是在页⾯显⽰⼏句中⽂⽽且标题也是中⽂。
运⾏后在浏览器中显⽰如图所⽰原因在于没有在JSP中指定页⾯显⽰的编码,消除乱码的解决⽅案很简单上⾯代码中page命令修改成如下所⽰即可<%@ page language="java" import="java.util.*" contentType="text/html; charset=GB2312" %><html><head><title>中⽂显⽰⽰例</title></head><body>这是⼀个中⽂显⽰⽰例:<%String str = "中⽂";out.print(str);%></body></html>再次运⾏乱码消失,原理就是向页⾯指定编码为GB2312,那么页⾯就会按照此编码来显⽰,于是乱码消失。
form表单input的submit传值
form表单的各种input的submit传值1.在服务器端获取参数的时候,HttpServletRequest.getParameter(String name)方法的返回结果根据如下情况区分:1.1请求消息中不包含这个参数,返回null。
1.2请求消息中包含这个参数,但是没有值。
例如param1=¶m2=123中的param1。
这种情况下返回空字符串””。
1.3请求消息中包含多个命名相同的参数。
例如param1=1¶m1=2中的param1。
这种情况下,返回第一个参数的值。
例如上面的1。
如果使用HttpServletRequest.getParameterValues(String name),则返回一个包含所有命名相同的值的Sring数组。
2.<input type="submit" name=" " value=" ">。
一个页面中可以有多个submit元素,点击某个submit按钮的时候,浏览器会将form的数据封转后发送给服务器,其中包括一对当前点击的submit信息的数据,为当前点击submit按钮的name和value。
其他不点击的submit 按钮不传递name和value值。
所以可以通过如下语句判断点击了那个submit按钮。
if(req.getParameter("submit按钮的name属性") !=null&&req.getParameter("submit按钮的name属性").equals("submit按钮的value属性")){执行语句}如果某个submit按钮没有name属性。
点击这个按钮的时候,浏览器也会将form的数据封转后发送给服务器,但是不包含submit按钮本身的name和value信息。
jsp中文传参乱码问题
String title= request.getParameter("title");
title= new String( title.getBytes("iso-8859-1"), "UTF-8");
System.out.println(title);
}
二、为编码为UTF-8的JSP页面传参,对于中文乱码的解决分为两种情况:
1.通过GET方式传参,通过new String(request.getParameter("").getBytes("ISO-8859-1"),"UTF-8"); 的方式转换为需要的编码,如UTF-8等。
一、在请求页面的请求参数需要用encodeURI进行转码,然后在接收请求的页面需要进行字符集转换。
本例中的请求和接收页面的字符集都是UTF-8:
1.请求的JSP页面用JavaScript的encodeURI()方法将参数转码:
function toView(param){
var encodeparam = encodeURI(param) ;
window.location.href="/naias/advAna_form.do?method=showDetail&title="+encodepara进行字符集转换:
public ActionForward excute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
JSP页面中导出Excel文件及其中文乱码的解决办法
JSP页面中导出Exc el文件及其中文乱码的解决办法Web应用导出Ex cel报表的简单实现(HTML)在Web应用中,很多数据经常要导出成Exc el文档。
用专门的生成真正的E xcel文档的方式比较复杂,不太好用。
所以经常用一种简单的方式来实现,即将报表保存为HTM L格式,然后用Exc el打开。
实现方式:第一步,用JSP实现HTM L版本的报表第二步,在该JS P页面头部设置res ponse的Cont entTy pe为Ex cel格式<%respo nse.s etCon tentT ype("appli catio n/vnd.ms-e xcel;chars et=GB K");%>中文问题:查看源代码时发现J SP文件中写死的中文为乱码,则在JSP文件头部添加一行<%@ pag e con tentT ype="text/html; char set=g b2312" %>查看源代码时发现文字为中文,但是用Exc el打开为乱码则在<html>与<hea d>中加入<met a htt p-equ iv="C onten t-Typ e" co ntent="tex t/htm l; ch arset=GBK">用S ervle t实现也是类似的处理方法。
实现样例:Test.jsp<%@ p age c onten tType="tex t/htm l; ch arset=GBK" %><% res ponse.setC onten tType("app licat ion/v nd.ms-exce l;cha rset=GBK"); %><HTML><me ta ht tp-eq uiv="Conte nt-Ty pe" c onten t="te xt/ht ml; c harse t=GBK"><h ead><title>Test</tit le></head><bod y><T ABLEborde rColo r=#111111cellS pacin g=0 c ellPa dding=2 wi dth=1200 a lign=cente r bor der=1><TR><TD alig n=mid dle w idth="10%" heig ht=20 rowS pan=2>项目</TD><TD a lign=middl e wid th="2%" he ight=20 ro wSpan=2>计量单位 </TD><TD al ign=m iddle widt h="4%" hei ght=20>满期赔付率 </TD></TR></TAB LE></body></H TML>Web应用导出Exc el报表的简单实现(HTML)在Web应用中,很多数据经常要导出成E xcel文档。