Struts2 问题:";[行动]”;不接受任何表达

Struts2 问题:";[行动]”;不接受任何表达,struts2,Struts2,我尝试使用以下代码: <li> <% for (int i=0; i<parentList.size(); i++) { Role p = parentList.get(i); %> <li><a href="<s:url action="<%=p.getFunclink() %>"/>"><%=p.getFuncname() %></a>

我尝试使用以下代码:

<li>
    <% for (int i=0; i<parentList.size(); i++) {
        Role p = parentList.get(i); 
    %>
        <li><a href="<s:url action="<%=p.getFunclink() %>"/>"><%=p.getFuncname() %></a>
        <ul>
            <% for (int j=0; j<roleList.size(); j++) {
                Role c = roleList.get(j);
                if (!c.getFuncid().equalsIgnoreCase(c.getParentfunc()) && c.getParentfunc().equalsIgnoreCase(p.getFuncid()))
                {
                %>
                    <li><a href="<s:url action="<%=c.getFunclink() %>"/>"><%=c.getFuncname() %></a>                     
                <%
                }
            }   
            %>
        </ul>
    <% } %>
    </li>

我怎样才能修好它?谢谢

Struts标记不能接受表达式,因此:

<s:url action="<%=p.getFunclink() %>"/>

这是无效的

  • 首先,避免使用scriptlet
  • 第二,研究如何使用标记来迭代集合
<s:url action="<%=p.getFunclink() %>"/>