Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / JSP (foreach в foreach-e) / 1 сообщений из 1, страница 1 из 1
07.02.2012, 12:49
    #37649991
Ygor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP (foreach в foreach-e)
Здравствуйте всем. Заранее приношу извинения за возможные ляпы, Java занимаюсь только опционально.
Проблема в следующем: Есть JSP-страница, в ней есть два foreach один в другом, первый отрабатывает нормально а второй (внутренний) только первых две итерации первого, а дальше "пропадает" с обработки.
Например первый foreach имеет 5 строк, второй (внутри первого) может иметь несколько строк по каждой строке первого foreach-а,
но в результате я получаю данные по всем 5-ти строкам первого foreach-а и строки второго, но только по первым двум строкам первого.
автор<%@ include file="/inc/header_msword.jsp" %>
<%@ page contentType="text/html;charset=windows-1251" %>

<%
...
String GR1_ID = new String(" ");
String GR2_ID = new String(" ");
String CLNAME = new String(" ");
...
String ADDR_NAME = new String(" ");
...
%>

<rw:report id="report">
<rw:objects id="objects">
<?xml version="1.0" encoding="WINDOWS-1251" ?>
<report name="RECEIPT" DTDVersion="9.0.2.0.10">
<xmlSettings xmlTag="MODULE1" xmlPrologType="text">
<![CDATA[<?xml version="1.0" encoding="&Encoding"?>]]>
</xmlSettings>
<data>
<userParameter name="POL_ID" datatype="character" width="40"
defaultWidth="0" defaultHeight="0"/>

<dataSource name="Q_0">
<select canParse="no">
<![CDATA[select ...;]]>
</select>
<group name="group_0">
<dataItem name="rn0"/>
</group>
</dataSource>

<dataSource name="Q_1">

<select canParse="no">
<![CDATA[select a.rn
,a.policy_id gr1_id
,REGEXP_REPLACE(REGEXP_REPLACE(XMLAGG(XMLELEMENT("tr",'<td class=xl39 align=center>'||a.plan_date||'</td><td class=xl39 align=center>'|| a.amount||'</td>')), '&\lt;','<'),'&\gt;','>') c_xml
,a.cl_name
...;]]>
</select>

<group name="group_1">
<dataItem name="rn"/>
</group>
</dataSource>

<dataSource name="Q_2">
<select canParse="no">
<![CDATA[select rownum rn2,
ph.policy_id gr2_id,
...;]]>
</select>
<group name="group_2">
<dataItem name="rn2"/>
</group>
</dataSource>

</data>
<reportPrivate versionFlags2="0" templateName="rwbeige"/>
<reportWebSettings>
<![CDATA[]]>
</reportWebSettings>
</report>
</rw:objects>

<rw:foreach id="f0" src="group_0">
<rw:getValue id="sign_post" src="sign_post"/>
<rw:getValue id="sign_name" src="sign_name"/>
<%
SIGNPOST = sign_post;
SIGNNAME = sign_name;
%>
</rw:foreach>

<rw:foreach id="fi1" src="group_1">
<rw:getValue id="c_xml" src="c_xml"/>
<rw:getValue id="gr1_id" src="gr1_id"/>
<rw:getValue id="cl_name" src="cl_name"/>
...
<%
C_XML = c_xml;
GR1_ID = gr1_id;
CLNAME = cl_name;
...
int GR1 = new Integer(gr1_id).intValue();
%>


<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns=" http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
...
</head>

<body lang=RU style='tab-interval:35.4pt'>

<div class=Section1>

<table class=MsoTableGrid border=0 cellspacing=0 cellpadding=0
style='border-collapse:collapse;mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt'>
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
<td width=307 valign=top style='width:230.4pt;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><span lang=UK style='font-size:10.0pt;mso-ansi-language:
UK'><o:p> </o:p></span></p>
</td>
<td width=331 valign=top style='width:248.15pt;padding:0cm 5.4pt 0cm 5.4pt'>
<p class=MsoNormal><span lang=UK style='font-size:
10.0pt;mso-ansi-language:UK'><%=CLNAME%><o:p></o:p></span></p>
<p class=MsoNormal><span lang=UK style='font-size:11.0pt;mso-ansi-language:
UK'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=UK style='font-size:10.0pt;mso-ansi-language:
UK'><%=ADDR_NAME%><o:p></o:p></span></p>
</td>
</tr>
</table>

...

<rw:foreach id="f4" src="group_2">
<rw:getValue id="rown" src="rown"/>
<rw:getValue id="rowcnt" src="rowcnt"/>
<rw:getValue id="gr2_id" src="gr2_id"/>
<%
int ROWN = new Integer(rown).intValue();
int ROWCNT = new Integer(rowcnt).intValue();
int GR2 = new Integer(gr2_id).intValue();
%>

<% if (GR1 == GR2) { %>

<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=741
...
</table>

<% } %>

</rw:foreach>

</div>

</rw:foreach>

</body>

</html>

</rw:report>

foreach с id="f4" отрабатывает только первых две итерации foreach id="fi1" и в данном примере условие if (GR1 == GR2) будет тру про всем строкам.
Спасибо.
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / JSP (foreach в foreach-e) / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]