有两个问题:
- 脚本 和EL不共享相同的作用域。该
drug
中${drug}有匹配的页面,请求,会话或应用程序范围的现有属性的名称。如果要drug
在 scriptlet中 而不是在控制器中进行准备,那么您应该自己将其作为属性放在这些作用域之一中。<% Drug drug = new Drug();// ...request.setAttribute("drug", drug);%>
- (由Nathan部分回答),EL依赖Javabeans规范。对于非布尔属性或布尔属性,
${drug.propertyName}需要一个公共方法。所以,这应该做getPropertyName()``isPropertyName()
public class Drug {private boolean nonAuthorative;public boolean isNonAuthorative() { return nonAuthorative;}// ...}
与
<c:if test="${drug.nonAuthoritative}">(注意外壳!)



