[Seasar-user:13123] [SAStruts]JSTLの fn:join で例外
出羽 健一
[E-MAIL ADDRESS DELETED]
2008年 3月 3日 (月) 14:55:06 JST
出羽です。
SAStrutsでJSTLを使ってJSPに以下のようなコードを書くと、
<%
String[] fuga = {"aaa", "bbb", "ccc"};
request.setAttribute("fuga",fuga);
%>
${fn:join(fuga, '=')}
結果が「aaa=bbb=ccc」のようになります。
同様のことをActionのプロパティで試してみました。
[Action側]
public String[] hoge = {"aaa", "bbb", "ccc"};
[JSP側]
${fn:join(hoge, '=')}
すると、以下のような例外になります。
致命的: サーブレット default のServlet.service()が例外を投げました
java.lang.IllegalArgumentException: Cannot convert [aaa, bbb, ccc] of type class org.seasar.struts.action.ArrayWrapper to class [Ljava.lang.String;
at org.apache.el.lang.ELSupport.coerceToType(ELSupport.java:374)
at org.apache.el.parser.AstFunction.getValue(AstFunction.java:102)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:923)
<<以下省略>>
上記の内容について、JSTLを使う際に制約があるのか、
それともバグなのかを教えて頂きたいので、
よろしくお願いします。
Seasar-user メーリングリストの案内