[Struts] <logic:equal>

Pagina: 1
Acties:

  • djengizz
  • Registratie: Februari 2004
  • Niet online
Ik ben een forum aan het schrijven m.b.v. Struts en MySQL en loop tegen een probleem aan met het gebruik van de <logic:equal> tag.
Het idee is om te itereren over twee collecties: Forums en Categoriën, en op basis van het CategorieId de juiste forums onder de betreffende Categorie te plaatsen. Het probleem is dat ik er niet uit kom welke value te gebruiken in:
<logic:equal name="forum" property="categoryId" value="">
Ik zou iets verwachten in de vorm van category.id maar dit werkt niet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<logic:present name="<%=SessionLabels.CATEGORIES%>">
    <logic:iterate id="category" name="<%=SessionLabels.CATEGORIES%>">
        <bean:write name="category" property="id"/>
            <logic:present name="<%=SessionLabels.FORUMS%>">
                <logic:iterate id="forum" name="<%=SessionLabels.FORUMS%>">

                 <!-- Hier zit mijn probleem: wat moet de value zijn!!-->

                    <logic:equal name="forum" property="categoryId" value="">
                        <bean:write name="forum" property="name"/>
                    </logic:equal>
                </logic:iterate>
            </logic:present>
    </logic:iterate>
</logic:present>

Ik heb het nu opgelost met Java code maar zou het liever 100% Struts oplossen :)

Verwijderd

wat is juist de bedoeling?
Welke attributen stopt je action class in je request? Hoe zijn die opgebouwd?

Je wil alle categorieen weergeven en dan alle forums in die categorie? Mooi, dan kun je met bean:define een page scope variabele maken om dan value="<%= beanDefinedId %>" te doen in je logic:equals tag

Ik veronderstel dat FORUMS alle fora voor alle categorieen bevat?
Ik zou forums implementeren als een arrayList met forum objecten, en elk forum object in die arraylist een categoryId en categoryName meegeven als variabele.
Dus mits een herschikking van wat je doorgeeft naar je JSP valt dit mooi op te lossen.

Als dit geen oplossing is voor je probleem had ik graag wat meer uitleg gehad :)
(bijvoorbeeld, met welke JAVA code heb je het uiteindelijk opgelost?)

  • djengizz
  • Registratie: Februari 2004
  • Niet online
Verwijderd schreef op 19 juli 2004 @ 18:31:
Ik zou forums implementeren als een arrayList met forum objecten, en elk forum object in die arraylist een categoryId en categoryName meegeven als variabele.
Dus mits een herschikking van wat je doorgeeft naar je JSP valt dit mooi op te lossen.
Dit is idd precies wat ik doe (behalve de categoryName in het Forum object).
<bean:define> zou de oplossing zijn maar dan moet ik alsnog java code gebruiken (value="<%= beanDefinedId %>"). Het liefst hou ik de jsp's 100% Struts en Java vrij. Nested tags zou een oplossing zijn maar dit kan niet.
Daarnaast belast je het request (ook al is het maar een beetje) met een object, wat je niet zou hoeven doen als je meteen een al aanwezig object zou kunnen gebruiken.

[ Voor 14% gewijzigd door djengizz op 19-07-2004 20:25 ]


  • momania
  • Registratie: Mei 2000
  • Laatst online: 21-05 06:42

momania

iPhone 30! Bam!

Let wel op hier dat je nu voor iedere categorie je hele forums set itereert, terwijl je per categorie steeds maar een klein deel uit die forums set nodig hebt.
Misschien moet je dan eerst kijken of je je data niet beter op kan bouwen en misschien dan ook geen nested iteratie meer nodig hebt :)

Neem je whisky mee, is het te weinig... *zucht*