1

我有以下标签:

<html:text styleClass="span2" property="groupManagerId" styleId="groupManagerId" maxlength="19" size="10" readonly="" />

哪个工作正常。当我添加一个style属性时:

<html:text styleClass="span2" style="display:<%=(""+FVConstants.NORMAL).equalsIgnoreCase(groupData.getGroupType())?"none":" "%>;" property="groupManagerId" styleId="groupManagerId" maxlength="19" size="10" readonly="" />

我收到以下错误:

org.apache.jasper.JasperException: /pages/POS0085_group_modify.jsp(95,61) Unterminated &lt;html:text tag

我在 labeldiv标签下有相同的属性,它工作正常。我改为

 <%String displayValue=(""+FVConstants.NORMAL).equalsIgnoreCase(groupData.getGroupType())?"none":" ";
                                String displayAttr="display:"+displayValue; %>

<html:text styleClass="span2" style="display:<%=displayValue%>" property="groupManagerId" styleId="groupManagerId" maxlength="19" size="10" readonly="" />

它有效。第一次尝试有什么问题?有一个更好的方法吗?

4

1 回答 1

0

当初学者尝试使用?运算符评估字符串时,通常会发生此错误。评估的表达式应该用括号括起来

<html:text styleClass="span2" style="display:<%=((""+FVConstants.NORMAL).equalsIgnoreCase(groupData.getGroupType())?"none":" ")%>;" property="groupManagerId" styleId="groupManagerId" maxlength="19" size="10" readonly="" /> 
于 2013-03-02T15:08:07.690 回答