gpt4 book ai didi

jsf-2 - 如何使用if,else条件在jsf中显示图像

转载 作者:行者123 更新时间:2023-12-03 08:44:16 25 4
gpt4 key购买 nike

我有一个条件,我有一个登记表,如果userid为0,它将显示虚拟图像,并且当我从任何更新中编辑用户时,我检查userid是否不等于0,然后显示与userid对应的图像。

我在jsf页面中使用了JSTL。但始终会尝试转到else循环以显示图像。该功能运行正常。唯一的问题是,当我第一次访问页面时,我无法显示虚拟图像。这是我的代码:

<c:if test="${'#{user.userId}' == '0'}">
<a href="Images/thumb_02.jpg" target="_blank" ></a>
<img src="Images/thumb_02.jpg" />
</c:if>
<c:otherwise>
<a href="/DisplayBlobExample?userId=#{user.userId}" target="_blank"</a>
<img src="/DisplayBlobExample?userId=#{user.userId}" />
</c:otherwise>

我可以使用此JSTL标签还是可以使用jsf?

最佳答案

嵌套EL表达式是非法的:您应该内联它们。在您的情况下,使用JSTL是完全有效的。更正错误后,您将使代码正常工作:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://java.sun.com/jstl/core">
<c:if test="#{not empty user or user.userId eq 0}">
<a href="Images/thumb_02.jpg" target="_blank" ></a>
<img src="Images/thumb_02.jpg" />
</c:if>
<c:if test="#{empty user or user.userId eq 0}">
<a href="/DisplayBlobExample?userId=#{user.userId}" target="_blank"></a>
<img src="/DisplayBlobExample?userId=#{user.userId}" />
</c:if>
</html>

另一种解决方案是在一个元素的EL中指定所需的所有条件。尽管它可能更重且可读性更差,但它是:
<a href="#{not empty user or user.userId eq 0 ? '/Images/thumb_02.jpg' : '/DisplayBlobExample?userId='}#{not empty user or user.userId eq 0 ? '' : user.userId}" target="_blank"></a>
<img src="#{not empty user or user.userId eq 0 ? '/Images/thumb_02.jpg' : '/DisplayBlobExample?userId='}#{not empty user or user.userId eq 0 ? '' : user.userId}" target="_blank"></img>

关于jsf-2 - 如何使用if,else条件在jsf中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17587304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com