2011-01-15 2 views
1

を受け入れていないが、私は次のコードを使用してみました:問題:「[アクション]」どんな表現に

<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> 

を、それはエラーをスロー:

私はそれを修正するにはどうすればよい
JSPG0227E: Exception caught while translating /menu.jsp: 
/menu.jsp(95,17) --> JSPG0124E: According to TLD or attribute directive in tag file, attribute "[action]" does not accept any expressions. Value of expression is: "[%=p.getFunclink() %]". 

?ありがとう!

答えて

2

Strutsのタグは、このように、式を受け入れることができません。

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

は無効です。

  • まず、すべてでスクリプトレットを使用しないでください。
  • 次に、<s:iterator/>タグを使用してコレクションを繰り返し処理します。