我只是学习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")%>"
但在我的问题中,是否必须由用户输入值。如何使其工作?谢谢。
答案 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