Java 重置JSTL值
我不明白为什么这不起作用。基本上,除非c:if为true,否则以下代码段工作正常 如果If语句为true,则应手动将clientId设置为1。这确实有效,但由于某种原因,它将无法获取clientProps 如果从会话变量“user”中获取ClientId=1,则它可以正常工作。所以clientProps应该在第1点有一些东西。 有线索吗Java 重置JSTL值,java,jsp,jstl,Java,Jsp,Jstl,我不明白为什么这不起作用。基本上,除非c:if为true,否则以下代码段工作正常 如果If语句为true,则应手动将clientId设置为1。这确实有效,但由于某种原因,它将无法获取clientProps 如果从会话变量“user”中获取ClientId=1,则它可以正常工作。所以clientProps应该在第1点有一些东西。 有线索吗 <c:set var="clientId" value="${sessionScope['user'].client.clientId}"/> &l
<c:set var="clientId" value="${sessionScope['user'].client.clientId}"/>
<c:if test="${empty sessionScope['user'].client.clientId}">
True
<c:set var="clientId" value="1" />
</c:if>
<c:set var="clientProperties" value="${clientProps[clientId]}"/>
<c:set var="clientLogo" value="${clientProperties.clientLogo}"/>
<c:set var="clientURL" value="${clientProperties.clientWebURL}" />
clientId = ${clientId}
clientLogo = ${clientLogo}
clientURL = ${clientURL}
如果用户对象存在,则返回结果:
clientId=1 clientLogo=/images/logos/Logo1.png clientURL=http://www.xxx.xxx
如果用户对象不存在,则返回结果:
True clientId=1 clientLogo=clientURL=
这是将其设置为字符串,而映射键显然很长
您需要将其设置为Long
EL中的数字隐式处理为Long,这就是为什么上面的方法会起作用
这是将其设置为字符串,而映射键显然很长
您需要将其设置为Long
EL中的数字被隐式视为Long,这就是为什么上面的方法会起作用。在这两种情况下,clientId的类型是否相同?从“User”对象获取时,它是Long。当我手动设置它时是什么我不知道..你试过将它设置为长的吗?不知道它是否能解决问题。在这两种情况下,clientId的类型是否相同?从“User”对象获取时,这是一个很长的过程。当我手动设置它时是什么我不知道..你试过将它设置为长的吗?不知道它是否能解决问题。