0

我正在一个使用 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)%>'}
4

1 回答 1

0

我认为不应该有引号WebConstants.get(WebConstants.PaymentType.DPE)

${payeeForm.paymentType != WebConstants.get(WebConstants.PaymentType.DPE)}

由于引号,您可能会比较文字而不是评估值。

于 2013-11-09T08:27:56.560 回答