This was it exactly... Actually, upon further digging yesterday, I did notice that when I got rid of the scope-related problem, the error was complaining about a type mismatch (As you said, trying to stuff a String into a boolean primitive. Sure enough, when I looken in BaseTagHandler.java, disabled is a boolena primitive).
Thanks Martin... Dave > -----Original Message----- > From: Davide Bruzzone [mailto:Davide.Bruzzone@;ngt.com] > Sent: Monday, November 11, 2002 2:36 PM > To: Struts Users Mailing List > Subject: Why would disabled="..." not take a runtime expression? The > docs say that it should... > > Greetings all... > > I'm trying to control whether or not some form fields are > editable using a > custom security tag. So, at the top of the page, I have > something like this: > > <%-- Page security --%> > <bean:define id="readOnly" type="java.lang.String" value="false"/> > > <ngt-security:hasNoPermission deny="deny"> > <bean:define id="readOnly" type="java.lang.String" > value="true"/> > </ngt-security:hasNoPermission> > > If the deny attribute is anything but null or an empty > string, readOnly is > set to "true". Then I try to do this: > > <html:select property="priority" styleClass="fullwidth" disabled="<%= > readOnly %>"> > ... > </html:select> > > What I get back is that the readOnly symbol cannot be > resolved... The problem is that you are passing a String to an attribute that requires a boolean. The documentation could certainly be more clear (you could submit a Bugzilla item if you like), but you will note that it states *true* and not *"true"* as an appropriate value. If you want 'readOnly' to be a String, you'll have to use something like this for the value of the 'disabled' attribute: <%= Boolean.valueof(readOnly).booleanValue() %> -- To unsubscribe, e-mail: <mailto:struts-user-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:struts-user-help@;jakarta.apache.org>