jsp页面参数空格问题
jsp页面如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String paraFiles = "";
if (request.getParameter("filenames") != null && request.getParameter("filenames").length() > 0) {
paraFiles = request.getParameter("filenames");
}
String[] strSelectItem = paraFiles.split(";");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<select id="selectFile">
<option value="">----请选择----
<%
int i = 0;
for (i = 0; i < strSelectItem.length; i++) {
if (strSelectItem[i].trim().length()>0){
%>
<option value= <%=strSelectItem[i]%> ><%=strSelectItem[i]%>
<%
}
}
%>
<input type="text" id="paraFiles" name="paraFiles" value=<%=paraFiles%>>
</body>
</html>
当参数filenames="你好 .doc"的时候,<select>可以正常显示,但是<input type="text" id="paraFiles" name="paraFiles" value=<%=paraFiles%>>
这里只显示"你好",后面的就没有了,请问怎么解决?我看到有很多人说参数传递不要用空格,可是<select>里显示正常啊,如果不用空格,用别的替换,该怎么写呢?
------解决方案--------------------用 # 试试
------解决方案--------------------up
------解决方案--------------------paraFiles = request.getParameter("filenames").trim();
试试
------解决方案--------------------
那是因为你value= <%=paraFiles%>没加双引号。
改成这样就好了value="<%=paraFiles%>"。
单引号应该也行
------解决方案--------------------
------解决方案--------------------
1.value="<%=paraFiles%>" value中添加引号,这是个习惯自己感觉这样做比较好
2.paraFiles = request.getParameter("filenames").trim(); 过滤掉带有空格的参数。那样就不会有问题了,trim()函数为系统自带,主要用来过滤空格和防止黑客sql注入技术
------解决方案--------------------看楼主挺厉害的怎么被这点问题给绊倒啦
------解决方案--------------------pageEncoding="UTF-8" 是不是存在编码问题呀?
paraFiles = request.getParameter("filenames").trim(); 只能去掉后面的空格吧
------解决方案-------------------- <input type="text" id="paraFiles" name="paraFiles" value= "<%=paraFiles%>">加上 " 号
我试了,可以!!
------解决方案--------------------结贴!!
楼主
------解决方案--------------------mark
------解决方案--------------------
------解决方案--------------------