自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JSP頁面中文參數(shù)傳遞get和post方法分析

開發(fā) 后端
JSP頁面中文參數(shù)傳遞在實際的編程中是十分有用的,get和post方法更是十分的常見,那如何掌握好這些方法呢?本文將會向你實現(xiàn)這些方法的具體事宜。

在項目中,我們經(jīng)常遇到需要在JSP頁面切換中傳遞中文字符。這主要有兩種方式。

◆URL方式

例如:

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

◆FORM方式

例如:

  1. ﹤form name=test   mehtod="post"﹥  
  2. ﹤input type=hidden name=text2 value="中文"﹥  
  3. ﹤input type=text name=text1﹥  
  4. ﹤input type=submit value=submit﹥  
  5. ﹤/form﹥ 

我們將針對這兩種情況,分別提供中文正確傳遞的解決方法。

JSP頁面中文參數(shù)傳遞之情況1:URL方式

例如:

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

一般來說我們很少直接在URL里面把參數(shù)寫成中文,如例子中的"type=蘋果"這樣傳遞。如果出現(xiàn)這種情況,在我們的接收參數(shù)的頁面我們只需要做個簡單的轉(zhuǎn)換就可以了。

JSP頁面中文參數(shù)傳遞實現(xiàn)之代碼test1.jsp:(主要部分)

  1. ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
  2. ﹤%  
  3. String type = request.getParameter("type");  
  4. String result = new String(type.getBytes("iso-8859-1"), "gb2312");  
  5. out.println(result);     
  6. %﹥  
  7.  

更普遍的做法,就是對URL中的中文字符進行編碼,變成類似type=%20D%20B這樣的字符。

JSP頁面中文參數(shù)傳遞實現(xiàn)之代碼MyJsp1.jsp:

  1. ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
  2. ﹤%@ page import="java.net.*" %﹥  
  3. ﹤a href='./MyJsp2.jsp?act=﹤%=URLEncoder.encode("中國人 非常好 =-")%﹥'﹥test﹤/a﹥  
  4.  

JSP頁面中文參數(shù)傳遞實現(xiàn)之代碼MyJsp2.jsp

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

JSP頁面中文參數(shù)傳遞之情況2:FORM方式

請注意,我們只是討論在﹤form enctype="application/x-www-form-urlencoded" ﹥這種形式的中文情況,因為在enctype="multipart/form-data"的時候通過解析出來中文也可以運用這種方法進行字符轉(zhuǎn)化,所以不再重復(fù)討論。

◆﹤form method=post﹥這種情況最簡單。

JSP頁面中文參數(shù)傳遞實現(xiàn)之代碼MyJsp1.jsp:

  1. ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
  2. ﹤form action="./MyJsp2.jsp" method="post" enctype="application/x-www-form-urlencoded" ﹥  
  3. ﹤input type=hidden name=act value=動作 /﹥  
  4. ﹤input type=submit value=ok﹥  
  5. ﹤/form﹥  
  6.  

JSP頁面中文參數(shù)傳遞實現(xiàn)之代碼MyJsp2.jsp:

  1. ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
  2. request.setCharacterEncoding("gb2312");  
  3. out.println(request.getParameter("act"));  
  4.  

或者

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

◆﹤form method=get﹥情況。

JSP頁面中文參數(shù)傳遞實現(xiàn)之代碼MyJsp1.jsp:

  1. ﹤%@ page language="java" import="java.util.*" pageEncoding="gb2312"%﹥  
  2. ﹤form action="./MyJsp2.jsp" method="get" enctype="application/x-www-form-urlencoded" ﹥  
  3. ﹤input type=hidden name=act value=動作 /﹥  
  4. ﹤input type=submit value=ok﹥  
  5. ﹤/form﹥  
  6.  

JSP頁面中文參數(shù)傳遞實現(xiàn)之代碼MyJsp2.jsp:

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

以上就是關(guān)于JSP頁面中文參數(shù)傳遞get和post方法分析,但是本文不討論針對URL進行加密的操作,只是針對URL中文的基本編碼處理。另外,在Javascript中可以運用escape(),encodeURI(),encodeURICompoent()進行相關(guān)的URL編碼;可以作為JavaScript中文編碼的參考解決方案。希望通過這樣簡單的對JSP頁面中文參數(shù)傳遞get和post方法的分析對你的編程設(shè)計有幫助。

【編輯推薦】

  1. JSP入門之網(wǎng)站環(huán)境搭建的步驟
  2. JSP開發(fā)中的腳本編程淺析
  3. JSP導(dǎo)出Oracle數(shù)據(jù)表的操作淺談
  4. 在JSP中實現(xiàn)頁面跳轉(zhuǎn)
  5. 什么是JSP以及和Servlet的比較
責(zé)任編輯:仲衡 來源: 中國網(wǎng)管聯(lián)盟
相關(guān)推薦

2009-09-04 16:10:49

JSP頁面間傳遞參數(shù)

2009-07-01 11:46:30

Flex和JSP

2009-07-02 13:26:32

JSP中文亂碼

2020-10-09 08:29:24

POSTGET參數(shù)

2010-08-11 16:19:59

FlexJsp

2009-06-30 17:26:56

JSP頁面

2015-01-05 10:07:24

HTTPGETPOST

2015-10-27 11:06:51

PHPGETPOST

2015-08-06 13:33:22

PHPGETPOST

2011-06-08 11:05:38

getpost

2011-06-08 11:02:14

GetPost

2012-06-19 14:35:24

JSPJava亂碼

2014-08-13 10:20:59

HttpURLConn

2014-08-15 13:11:03

HttpURLConn

2023-07-14 12:24:39

POSTGET中文亂碼

2020-09-24 10:09:01

GETPOST前端

2009-06-30 11:18:16

HTML表單JSP教程

2009-09-10 17:37:01

C# get post

2023-08-07 09:25:06

GETPOSTHTTP請求

2010-08-06 10:49:16

FlexJsp
點贊
收藏

51CTO技術(shù)棧公眾號