Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSP substring()不';如果字符串较短,则不显示任何内容_Java_Jsp_Struts2 - Fatal编程技术网

Java JSP substring()不';如果字符串较短,则不显示任何内容

Java JSP substring()不';如果字符串较短,则不显示任何内容,java,jsp,struts2,Java,Jsp,Struts2,我想在Struts2应用程序的表格中显示文本的开头。它工作得很好,除非文本字段比我想要的长度短 <td> <s:property value="key.text.substring(0,40)" />... </td> ... 如果key.text太短,则不显示任何内容。如果我删除substring()函数,一切都会显示得很好(当然,它通常太长) 除了测试文本长度之外,我还能做些什么吗?嗯,您在这里遇到了一个异常: 子串 抛出:IndexOut

我想在Struts2应用程序的表格中显示文本的开头。它工作得很好,除非文本字段比我想要的长度短

<td>
    <s:property value="key.text.substring(0,40)" />...
</td>

...
如果
key.text
太短,则不显示任何内容。如果我删除
substring()
函数,一切都会显示得很好(当然,它通常太长)


除了测试
文本
长度之外,我还能做些什么吗?

嗯,您在这里遇到了一个异常:

子串

抛出:IndexOutOfBoundsException-如果beginIndex为负数,或者endIndex大于此字符串对象的长度,或者beginIndex大于endIndex

这就是您没有看到任何输出的原因


因此,您需要首先检查长度。

嗯,您在这里遇到了一个异常:

子串

抛出:IndexOutOfBoundsException-如果beginIndex为负数,或者endIndex大于此字符串对象的长度,或者beginIndex大于endIndex

这就是您没有看到任何输出的原因

因此,您需要首先检查长度。

尝试以下方法:

<td>
   <s:if test="key.text.length() > 40"> 
      <s:property value="key.text.substring(0,40)" />
   </s:if>
   <s:else>
      <s:property value="key.text" />
   </s:else>
</td>

试试这个:

<td>
   <s:if test="key.text.length() > 40"> 
      <s:property value="key.text.substring(0,40)" />
   </s:if>
   <s:else>
      <s:property value="key.text" />
   </s:else>
</td>

传递到原力的光明面,并仅在这方面使用CSS

HTML


这样你就可以精确地控制总宽度,因为你用像素来表达它,同时限制了字符数,你的宽度是无法预测的:(40
I
比40
Z
短)。

转到原力的光明面,只为这一点使用CSS

HTML


通过这种方式,您可以精确控制总宽度,因为您以像素表示,同时限制字符数,因此无法预测宽度:(40
I
比40
Z
短).

仅在使用
键.text.length>40时才有可能。例如
您想知道我现在几岁吗?
显示,
我多大了?
没有。我的意思是您希望得到什么样的解决方案?除了检查长度。仅可使用
键.text.length>40
例如
您想知道我现在几岁吗?
显示,
我多大了?
不是。我的意思是您希望什么样的解决方案?除了检查length.short if条件外,你不知道struts2的语法是这样的吗
short if condition,不知道struts2类似的语法吗
好吧,我没有看到任何异常,我觉得这个测试有点没用,但是让我们接着做。将
struts.devMode
设置为true,您就会看到异常好吧,我没有看到任何异常,我觉得这个测试有点没用,但是让我们接着做。将
struts.devMode
设置为true,你会看到一个例外,从来没有听说过。看起来不错!从没听说过这个。看起来不错!
td {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space: nowrap; 
    display: inline-block;
    width:200px;
}