rg8*_*g88 5 javascript java jsp el
我正在研究一个项目的前端,该项目为我提供了Java表达式语言标记.在一个实例中,我需要查看它是返回数组还是只返回一位数据,我不知道如何使用它.
例:
该页面有
<p>${WebAppContext.buildings[0].location.name}</p>
Run Code Online (Sandbox Code Playgroud)
这将输出如下内容:
<p>Acme</p>
Run Code Online (Sandbox Code Playgroud)
问题是如果那个建筑物中有更多的东西,我需要输出更多:
像(在伪代码中)的东西:
if isArray(${WebAppContext.buildings}){
foreach(${WebAppContext.buildings} as foo){
//iterate over whatever is in the array
}
}
Run Code Online (Sandbox Code Playgroud)
所以我可以输出如下内容:
<p>${WebAppContext.buildings[0].location.name}</p>
<p>${WebAppContext.buildings[1].location.name}</p>
Run Code Online (Sandbox Code Playgroud)
我问负责生成此代码的Java人员,他们说"Dunnokindofbusyrightnowbuhbye".所以我希望大家会有一些见解.
除了在页面中粘贴代码之外,我还不知道如何使用这种Java表达式语言(我甚至不得不查看它以查看它的名称).所以任何建议/资源都会有所帮助.
编辑:
我试过以下内容并没有得到任何结果:
<c:forEach var='building' items='${WebAppContext.buildings}'>
<p>${building.location.name}</p>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
在页面的源代码中,它只显示:
<c:forEach var='meeting' items='[Lorg.foo.bar.baz.bat.serviceapi.webserviceobject.xsd.BuildingsWSO;@3823ff8'>
<p></p>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
我承认,对Java表达式语言一无所知,我不明白为什么items =''被翻译得像它一样,虽然我可以看到它遵循我们使用的设置中的路径.现在我用的时候:
<p>${WebAppContext.buildings[0].location.name}</p>
<p>${WebAppContext.buildings[1].location.name}</p>
Run Code Online (Sandbox Code Playgroud)
我明白了:
<p>Krustylu Studios</p>
<p>Springfield Nuclear Power Plant</p>
Run Code Online (Sandbox Code Playgroud)