JSP頁面url傳遞參數編碼問題


在搜索的時候將中文傳遞到后台,但是地址欄是明文傳遞,解決辦法就是將參數編碼。

searchField : function searchField(){
		$("#btn-search").click(function(){
			var searchStr = $("#txt-search").val();
			//alert(searchStr);
			if(searchStr != "")
				document.location.href = document.getElementsByTagName('base')[0].href
					+  "admin/common/field-list"+ "?searchStr=" + encodeURIComponent(encodeURIComponent(searchStr));//使用encodeURIComponent進行編碼
else document.location.href = document.getElementsByTagName('base')[0].href + "admin/common/field-list"; }); }

  后台接收時解碼:

@RequestMapping(value = "/admin/common/field-list", method = RequestMethod.GET)
	public String fieldListPage(HttpServletRequest request,Model model, @RequestParam(value = "page", required = false, defaultValue = "1") int index,@RequestParam(value="searchStr",required=false,defaultValue="") String searchStr){
		log.info("searchStr"+searchStr);
		try {
			searchStr = java.net.URLDecoder.decode(searchStr, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Page<Field> page = new Page<Field>();
		page.setPageNo(index);
		page.setPageSize(8);
		List<Field> fieldList = new ArrayList<Field>();
		if(null != searchStr && searchStr.length()>0){
			fieldList = questionService.getFieldBySearchStr(searchStr, page);
		}else{
			fieldList = questionService.getAllField(page);
		}
		String pageStr = PagingUtil.getPagelink(index, page.getTotalPage(), "", "admin/common/field-list");
		model.addAttribute("searchContext", searchStr);
		model.addAttribute("fieldList", fieldList);
		model.addAttribute("pageStr", pageStr);
		return "field-list";
	}

  http://www.jb51.net/article/45293.htm

 

java.net.URLDecoder.decode((String)request.getParameter("tcontent"), "UTF-8");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM