html内的style属性:文本表达式错误

问题描述 投票:0回答: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

我在

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

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

java jsp struts struts-1 scriptlet
1个回答
0
投票

当初学者尝试使用

?
运算符计算字符串时,经常会发生此错误。计算的表达式应该像这样用括号括起来

<html:text styleClass="span2" style="display:<%=((""+FVConstants.NORMAL).equalsIgnoreCase(groupData.getGroupType())?"none":" ")%>;" property="groupManagerId" styleId="groupManagerId" maxlength="19" size="10" readonly="" /> 
© www.soinside.com 2019 - 2024. All rights reserved.