来自resultSet的Java getString在第一个空格处截断字符串或​​在''之内获取子字符串

问题描述

我有一个servlet,它查询MysqL db,然后在表中显示数据。我有一列称为类型,它是一个字符串。当我这样做

rs.getString("type")

不使用输入项,我得到完整的字符串(rs是resultSet)。但是当我这样做时:

<input name="class" type="text" value=<%=rs.getString("type")%>>

如果字符串带有空格,即'ABC DEF',那么它将仅具有'ABC'值。或者,如果字符串为“ 1” ABC”,则该值仅为“ 1”。

如何获取完整的价值?

解决方法

我相信您的问题类似于getString from ResultSet with spaces中的问题。您也许应该尝试将rs.getString()的结果存储在变量中,并在HTML中用引号将其显示。例如,如果返回的字符串是“ ABC DEF”,则它看起来像:

<input name="class" type="text" value=ABC DEF>

正确的方法是

<input name="class" type="text" value="ABC DEF">

但是,您的代码非常容易受到SQL注入的攻击。请检查我提供的链接,以更全面地回答您的问题。