我正在使用Struts框架的项目中工作。以下是我在jsp中的代码。
<%=WebConstants.get(WebConstants.PaymentType.DPE)%> <%-- display DPE --%>
${payeeForm.paymentType} <%-- display DPE --%>
${payeeForm.paymentType != 'WebConstants.get(WebConstants.PaymentType.DPE)'} <%-- display true --%>
WebConstants.get(WebConstants.PaymentType.DPE)
实际上是一个对象,其值为“DPE”。因此,当我加载它时,我的代码的第一行将在我的页面中显示“DPE”。
payeeForm.paymentType
也是我创建的对象,我手动将其值设置为DPE,因此当我加载它时,它在我的页面中也显示“DPE”。
payeeForm.setPaymentType(WebConstants.get(WebConstants.PaymentType.DPE));
我的代码的第三行是将payeeForm.paymentType与对象进行比较。当我加载它时,我希望它在我的页面中显示“false”,但是,它显示为“true”。
如果我硬编码使第三行成为:
${payeeForm.paymentType != 'DPE' } <%-- display false --%>
然后,当我加载它时,它只在我的页面中显示“false
”。
我更喜欢将它与Object进行比较而不是硬编码。想问一下,我犯了什么错误。 请建议。
之前我尝试过以下代码,但它仍然显示为true或显示其他内容:
${payeeForm.paymentType != WebConstants.get(WebConstants.PaymentType.DPE)}
${payeeForm.paymentType != <%=WebConstants.get(WebConstants.PaymentType.DPE)%>}
${payeeForm.paymentType != '<%=WebConstants.get(WebConstants.PaymentType.DPE)%>'}
答案 0 :(得分:0)
我认为WebConstants.get(WebConstants.PaymentType.DPE)
周围不应该有引号:
${payeeForm.paymentType != WebConstants.get(WebConstants.PaymentType.DPE)}
由于引号,您可能会比较文字而不是评估值。