SSH框架常会出现的一些错误

时间:2022-06-14 04:18:07

  1、jquery datatable插件报JSON数据错误

  错误原因:hql语句拼接有问题,前一个字符串与后一个字符串之间缺少空格,导致数据库查询失败。

  2、addInput页面中input内容不为空,并且添加后目标不在选中位置的下级

  错误原因:Action缺少@Scope("prototype")注解,Action无法创建多个实例,一直使用最初的实例,而jsp页面中value通过ognl表达式获取了model的值,导致input内容不为空,同时也导致了上下级关系错误。

  3、s:if标签字符串比较输出的值不对

  ognl表达式中单引号的使用比较接近javascript语法,在双引号内部使用ognl表达式时,字符串(字符串长度大于1)可以用单引号包起来,但却偏偏在单引号+单字符的诠释上用的是java的语法。于是便有了下面的现象

    <!--String str = "1";-->
<s:if test="str=='1'">这样是不会显示的</s:if>
<s:if test='str=="1"'>这就显示了</s:if>
<s:if test="str==\"1\"">这也显示了</s:if>
<!--<s:property value="'1'.class"/>输出的值是class java.lang.Character-->

  因此在ognl表达式中,用到单字符的字符串时,一定要用""\"\"包起来。