◆JSP List<Bean>のループ [Java側] ・Bean fundCode, fundNameの2プロパティ ・beanListは、beanList.add(bean) で作られたリスト ・req.setAttribute("beanList", beanList);で渡された [Jsp側] <%@ page import="jp.co.AAA.action.bean.Bean" %> <logic:iterate id="beanList" name="beanList" type="Bean" indexId="i" > <td><%= i + 1 %></td> <td><bean:write name="beanList" property="fundCode" /></td> <td><bean:write name="beanList" property="fundName" /></td> </logic:iterate> ◆JavaScriptでBeanを取得する方法 <script type="text/javascript"> $(function(){ var fundCode; var response; <bean:define id="us" name='<%= Constants.USER_SESSION_KEY %>' type="UserSession"/> <bean:define id="peersForm" name="us" property="peersForm" /> <logic:iterate id="data" name="peersForm" indexId="index"> fundCode = '<bean:write name="data" property="key" />'; response = '<bean:write name="data" property="value.returnResultForm.returnJsonBean" />'; </logic:iterate> }); </script> 【補足】 public class UserSession implements Serializable { /** serialVersionUID */ private static final long serialVersionUID = -1685094390028738986L; /** 各ファンドのデータ */ private LinkedHashMap<String, PeersForm> peersForm; 〜中略〜 } ◆format指定 bean:write の場合、int はformat指定が必要。 <logic:iterate id="data" name="peersForm" indexId="index" length="3"> <logic:notEmpty name="data" property="value.returnResultData.return10year" > <td class="rankingCell"><bean:write name="data" property="value.returnResultData.ranking10year" format="#" /></td> </logic:notEmpty> </logic:iterate> ◆サーバ側の定数(Constants)を使う場合は、一度 定義 しないと駄目。 ○Stringの場合 <bean:define id="aa" value='<%= Constants.USER_SESSION_KEY %>'/> <bean:write name="aa"/> ○マップの場合 <logic:iterate id="map" collection="<%= Constants.CATEGORY_SET_MAP %>" > <bean:write name="map" property="key" /> : <bean:write name="map" property="value"/> </logic:iterate> ◆Mapのリストで個々のkey,valueを取り出す(Struts-jsp編) Strutsとjspに於いて例えばListの中身がそれぞれmapの場合 @param list(java.util.ArrayList);map(java.util.HashMap)のリスト <logic:iterate id="map" name="list"> <bean:define id="item" name="map" type="java.util.Map"/> <%--コレクションがjava.util.Mapである場合には、取り出される要素はjava.util.Map.Entryになる--%> <logic:iterate id="info" collection="<%=item %>"> <bean:define id="key" name="info" property="key"/> <bean:define id="value" name="info" property="value"/> mapのキーは<%= key%>、値は<%=value%>です </logic:iterate> </logic:iterate>
最新コメント