request.getParameter值不从用户键入的值获取带空格的数据

时间:2018-06-09 02:39:12

标签: javascript java jsp getparameter

我只是学习jsp和Java而且还是新手。 我在 a.jsp 文件中包含此代码。用户需要输入值中的任何项目,然后单击“搜索”按钮。

<input type="text" value="" name="itemCode" id="itemCode">;
<input type="button" name="btnitemsearch" value="Search" onclick="searchItem();"> 

然后在函数searchItem()中,

var code1 = document.getElementById("itemCode").value;
var getData = '../select_Item/b.jsp?itemCode=' + code1;

$(document).ready (function(){
     $("#openModalDialog").dialog({
         modal: true,
         autoOpen: false,
         title: "Item Search",
         width: 700,
         height: 400,
         });
     });

     $('#openModalDialog').dialog('open');
      $('#openModalDialog').load(getData);

所以在 b.jsp 文件中,我使用request get参数来获取值,但只有在值没有空格时才有效。

<% String itemCode= request.getParameter("itemCode");
   System.out.println(itemCode);%>

例如,如果我输入值铅笔,当然它会打印出“铅笔”。 但是如果我输入值铅笔2b,如果只打印出“铅笔”没有空格“”和2b。

我知道这个问题已被问及重复。但在大多数问题中,值使用request.getParameter.It说我需要用引号括住属性值。

value="<%=request.getParameter("anything")%>"

但在我的问题中,是否必须由用户输入值。如何使其工作?谢谢。

1 个答案:

答案 0 :(得分:0)

替换:

var getData = '../select_Item/b.jsp?itemCode=' + code1;

通过

var getData = '../select_Item/b.jsp?itemCode=' + encodeURIComponent(code1);

您需要对查询字符串进行编码以形成正确的URL字符串。

在这种情况下:pencil 2b将成为pencil%202b,并且在您b.jsp

中访问时,空格字符会被正确保留