WhiteSpace表单TextBoxes

时间:2009-04-23 01:33:08

标签: java

我正在重新填充用户之前在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页面时,我在表单的文本框中得到一个前导空格。因此,无论何时我提交表单,空格都会插入到数据库中。

有什么想法吗?任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:1)

你可以这样修剪:

String polyNum = request.getParameter("policyNum");
polyNum = polyNum == null ? null : polyNum.trim();
session.setAttribute("policyNum", polyNum  );

如果你的jsp看起来像

<input type ="text" value="
<%= session.getAttribute( "policyNum" ); %>
"/>

你会得到空白。

此外,您不会显示您输入数据库的位置。

答案 1 :(得分:0)

看一下String类中的.trim()方法:

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#trim()

“返回字符串的副本,省略前导和尾随空格。”

答案 2 :(得分:0)

Apache Commons StringUtils库适合修剪,因为它处理空值。

所以

String polyNum = request.getParameter("policyNum");
polyNum = polyNum == null ? null : polyNum.trim();

可以成为

String polyNum = StingUtils.stripToEmpty(request.getParameter("policyNum"));

答案 3 :(得分:0)

事实证明,我的jsp页面中的文字拼写错误。毕竟我不需要修剪空白。我的表格现在运作正常。

关于Apache库的解决方案很有趣Damo。感谢您的反馈。