Analysis of of get and post methods for passing Chinese parameters on JSP pages

  • 2020-06-23 01:40:53
  • OfStack

In projects, we often encountered the need to pass Chinese characters in the JSP page switch. There are two main ways to do this.

Mixer URL way

Such as:

http://website/test1.jsp?act=add & type = apple & param=%20D%20B

Mixer FORM way

Such as:


 � form name=test   mehtod="post" �    
 � input type=hidden name=text2 value=" Chinese " �    
 � input type=text name=text1 �    
 � input type=submit value=submit �    
 � /form � 

We will provide solutions for correct Chinese delivery in both cases.

JSP page Chinese parameter passing situation 1: URL mode

Such as:

http://website/test1.jsp?act=add & type = apple & param=%20D%20B

In general, we rarely write the parameters directly in URL in Chinese, as in the example "type= apple ". If this happens, we only need to do a simple conversion on the page where we receive the parameters.

JSP page Chinese parameter passing code test1.jsp :(main part)


 � %@ 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);      
% �   

More commonly, Chinese characters in URL are encoded to something like type=%20D%20B.

MyJsp1.jsp:


 � %@ page language="java" import="java.util.*" pageEncoding="gb2312"% �    
 � %@ page import="java.net.*" % �    
 � a href='./MyJsp2.jsp?act= � %=URLEncoder.encode(" The Chinese   Very good  =-")% � ' � test � /a � 

JSP page Chinese parameter passing code MyJsp2.ES66en


 � %@ page language="java" import="java.util.*" pageEncoding="gb2312"% �    
 � %@ page import="java.net.*" % �     
String tempVal = URLDecoder.decode(request.getParameter("act"));   
out.println(new String(tempVal.getBytes("ISO-8859-1"), "gb2312"));  

JSP Page Chinese parameter passing situation 2: FORM method

Please note that we are only talking about the Chinese version of the sentence "form enctype="application/ x-ES81en-ES82en". The discussion will not be repeated because the Chinese version can also be converted in this way when enctype="multipart/ form-ES86en ".

The case is the simplest.

JSP page Chinese parameter passing code ES95en1.ES96en:


 � %@ page language="java" import="java.util.*" pageEncoding="gb2312"% �    
 � form action="./MyJsp2.jsp" method="post" enctype="application/x-www-form-urlencoded"  �    
 � input type=hidden name=act value= action  / �    
 � input type=submit value=ok �    
 � /form �   

JSP Page Chinese parameter passing code MyJsp2.ES104en:


 � %@ page language="java" import="java.util.*" pageEncoding="gb2312"% �    
request.setCharacterEncoding("gb2312");   
out.println(request.getParameter("act"));   

or


 � %@ page language="java" import="java.util.*" pageEncoding="gb2312"% �    
String tempVal = request.getParameter("act");   
out.println(new String(tempVal.getBytes("ISO-8859-1"), "gb2312")); 

The dialogue script is written by the editor.

JSP page Chinese parameter passing code MyJsp1.ES122en:


 � %@ page language="java" import="java.util.*" pageEncoding="gb2312"% �    
 � form action="./MyJsp2.jsp" method="get" enctype="application/x-www-form-urlencoded"  �    
 � input type=hidden name=act value= action  / �    
 � input type=submit value=ok �    
 � /form �   

JSP Page Chinese parameter passing code MyJsp2.ES130en:


 � %@ page language="java" import="java.util.*" pageEncoding="gb2312"% �    
String tempVal = request.getParameter("act");   
out.println(new String(tempVal.getBytes("ISO-8859-1"), "gb2312")); 

The above is the analysis of get and post methods for Chinese parameter passing on JSP page. However, this paper does not discuss encryption for URL, but only basic coding processing for URL Chinese. In addition, in Javascript, escape(),encodeURI(),encodeURICompoent() can be used to encode related URL. It can be used as a reference solution for JavaScript Chinese coding. I hope this simple analysis of the get and post methods for Chinese parameter passing on JSP page will be helpful for your programming design.


Related articles: