相关疑难解决方法(0)

如何在Struts2 <s:url>中使用JSTL <c:forEach>?

我有这个代码实际上有效:

<s:iterator value="breadcrumb.links" var="link">
    <s:url action='%{#link.url}' var="url" />
    <li>
       <a href="${url}">${link.name}</a>
    </li>
</s:iterator>
Run Code Online (Sandbox Code Playgroud)

我怎么做同样的事情,但用c:foreach而不是s:iterator?

我尝试过:

<c:forEach items="${breadcrumb.links}" var="link">
    <s:url action='${link.url}' var="url" />
    <li>
        <a href="${url}">${link.name}</a>
    </li>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

根据标记文件中的TLD或属性指令,属性操作不接受任何表达式

谢谢.

jsp iterator jstl struts2 ognl

4
推荐指数
1
解决办法
5211
查看次数

javascript中$ {}的含义

我最近需要处理javascript.不幸的是,我是新手.
我遇到了以下代码,并不理解$ {count == 0}的含义.

function body_onload()
{
    if(${count == 0})
    {
        document.getElementById("dispaly").style.display="none";
    }   
    scanImageReportFrom.shopCodes.focus();
}
Run Code Online (Sandbox Code Playgroud)

谢谢.


最后我发现可以解决我的问题.

javascript syntax

2
推荐指数
1
解决办法
4079
查看次数

在Struts 2中使$ {}运算符XSS安全(与tapestry相同)

http://www.disasterarea.co.uk/blog/xss-vulnerabilities-in-web-frameworks-2/中所述

在struts 2中$ {}不是xss安全的,而在tapestry 5中是安全的.

我不是Tapestry的人,但我想知道上面是否正确.

据我所知,它${}是JSLT的一部分,它不依赖于任何Web框架.因此,如果上面的句子是正确的并且${}在挂毯中是安全的XSS,我们怎样才能在struts 2中使其安全.

更新:

为了测试它我运行struts2-showcase应用程序,打开modelDriven\modelDrivenResult.jsp并添加以下行:

Am I safe  ${name} 
Run Code Online (Sandbox Code Playgroud)

现在,当您运行展示案例并输入<script> alert('xxxx') </script>gangester名称时,您可以看到警报!

xss jsp jstl struts2 ognl

2
推荐指数
1
解决办法
803
查看次数

标签 统计

jsp ×2

jstl ×2

ognl ×2

struts2 ×2

iterator ×1

javascript ×1

syntax ×1

xss ×1