2013-02-28 47 views
1

我有以下标签:样式属性:文本返回错误

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

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

+0

上次我检查,'<(%)=( ”“?+ FVConstants.NORMAL).equalsIgnoreCase(groupData.getGroupType())” 没有括号包围>'不是显示样式的有效css值。我想你可能会在你的文章中遗漏一些背景信息(也可能是标签)。什么过程的代码? – 2013-02-28 14:39:22

+1

你不能像这样嵌套scriptlets。更好的方法是设置一个可通过JSP EL访问的值,并为html-el标签使用最近的容器。 – 2013-02-28 17:34:43

+0

@jdwire正确,但这不是错误所指示的 - 这是JSP标记问题,而不是CSS问题。 – 2013-02-28 17:36:18

回答

0

当初学者尝试使用?运算符评估字符串时,经常会发生此错误。 “:”“%所评价的表达应与像

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