html中的style属性:text返回错误

时间:2013-02-28 14:32:47

标签: java jsp text styles struts

我有以下标记:

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

正常工作。当我添加样式属性时:

<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

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

 <%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="" />

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

1 个答案:

答案 0 :(得分:0)

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

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