当前页面: 开发资料首页 → JSP 专题 → 我用JSTL,为什么在客户端的HTML里面会多出这么多空格来?
我用JSTL,为什么在客户端的HTML里面会多出这么多空格来?
摘要: 我用JSTL,为什么在客户端的HTML里面会多出这么多空格来?
以下是用jstl写的一个checkbox
<input type=checkbox value="yes" name="isTest" onclick="return setTest(this.value,'${row1.courseId}','${row1.courseName}')" checked>
<input type=checkbox value="no" name="isTest" onclick="return setTest(this.value,'${row1.courseId}','${row1.courseName}')">
以下是客户端的HTML源文件,12后面多了好多空格,弹出对话框就不好看了。请问如何去掉,
最好不要用JS来处理,而是直接发送到客户端的HTML就把它去掉。
<input type=checkbox value="no" name="isTest" onclick="return setTest(this.value,'12 ','12 ')">
UP.
这应该不是jstl的问题,你查一查看是不是你那个值本身就有许多空格?
没有。代码都在上面呢。
我是说你的row1.courseName变量本身的值可能包含了空格,你查看一下是不是?
没有,肯定没有。
没有人遇到这样的问题吗?
UP。
如果实在解决不了,就在弹出对话窗的时候解决,去掉多余的空格
(this.value,'12 '.replace(/(^/s*)|(/s*$)/g, ""),'12 '.replace(/(^/s*)|(/s*$)/g, ""))
应该你传过来的值本身含有空格,JSTL是不会为你添加空格的
还是我搞错了,空格实际上还是插入到数据库里面去了。
我从网上看到下面这段话。
对于定长度的SQL数据类型CHAR(n),当从数据库管理系统中获得的结果集提取该类型的数据时,JDBC会为其构造一个长度为n的String对象来代表他,如果实际的字符个数不足’n’,系统会自动为String对象补上空格。当向数据库管理系统写入的数据类型应该是CHAR(n)时,JDBC也会将该String对象的末尾补上相应数量的空格。
怎么不让空格插入到数据库中呢?我用的是varcha20,所以它总是补一大堆空格,直到20,
proc = conn.prepareCall("{call sp_course_insert(?,?,?)}");
proc.setString(1,c.getCourseId().trim());
用trim也不行。
UP。
再UP