我正在重新填充一个用户以前在HTTP中使用Sessions填写的表单字段。我通过一个servlet从表单中抓取字段:
//On servlet
String polyNum = request.getParameter("policyNum")
session.setAttribute("policyNum", polyNum);
//On JSP
<td align = "right"><font color = "#FF0000">*</font><font face= "Calibri, Arial" size = "3"> Policy #:</font></td>
<td><input type="text" name= "policyNum" size="19" tabindex = "1" value="
<% out.println(session.getAttribute("policyNum");%>">问题是:当我运行JSP页面时,表单的文本框中会出现一个前导空格。因此,每当我提交表单时,也会在数据库中插入空格。
有什么想法吗?任何帮助都将不胜感激。
发布于 2009-04-23 02:25:36
您可以像这样修剪它:
String polyNum = request.getParameter("policyNum");
polyNum = polyNum == null ? null : polyNum.trim();
session.setAttribute("policyNum", polyNum );如果您的jsp看起来像
<input type ="text" value="
<%= session.getAttribute( "policyNum" ); %>
"/>您将看到空格。
此外,您也没有显示您在数据库中输入的位置。
发布于 2009-04-23 01:37:16
看看String类中的.trim()方法:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#trim()
返回字符串的副本,省略前导空格和尾随空格。
发布于 2009-04-23 09:05:47
Apache Commons StringUtils库很适合进行修剪,因为它处理空值。
所以
String polyNum = request.getParameter("policyNum");
polyNum = polyNum == null ? null : polyNum.trim();可能会变成
String polyNum = StingUtils.stripToEmpty(request.getParameter("policyNum"));https://stackoverflow.com/questions/779970
复制相似问题