我正在重新填充用户之前在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页面时,我在表单的文本框中得到一个前导空格。因此,无论何时我提交表单,空格都会插入到数据库中。
有什么想法吗?任何帮助将不胜感激。
答案 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。感谢您的反馈。