This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line!
See this thread for details.
The moose likes Struts and the fly likes Nesting struts tags Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Nesting struts tags " Watch "Nesting struts tags " New topic
Author

Nesting struts tags

Bianca Deloso
Greenhorn

Joined: Sep 23, 2003
Posts: 15
Hi,
Can somebody tell me if there is another way to get this line of code to work properly? I get an 'equal sign expected error' because I try to 'nest' strut tags.
<logic:equal name="changeItem" property="productName" value="<bean:write name="changeItemProduct" property="productName" /> ">
I have two arrays, and I need to be able to check if the 2 properties in the two beans are equal so I could continue on with the iteration. If not, it should skip.
Thanks!
Peter den Haan
author
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
You can't nest JSP custom tags inside custom tag attributes. The only way you can do what you're trying here is to either use a Java scriptlet along the following linesor to use a helper JavaBean which has references to your changeItem and changeItemProduct beans and exposes a boolean property.
Both solutions are, IMHO, unsatisfactory. The underlying problem is that the Struts logic tag library is not quite flexible enough, in particular, it does not implement a full-featured expression language.
Fortunately, these days we have a much superior alternative to the Struts logic tags: the JSP Standard Tag Library (JSTL). This is a standard library sanctioned by the JCP, has been much better conceived, and includes a simple expression language that will be part of the core platform in the next JSP version (2.0).Have fun,
- Peter
Bianca Deloso
Greenhorn

Joined: Sep 23, 2003
Posts: 15
Hi Peter,
I ran into an error wile trying to use:

Here's the error:


Here's my code in jsp (javascript):

What am I doing wrong? Thanks! Any help would be greatly appreciated! :-)

[reformatted by moderator]
[ October 24, 2003: Message edited by: Junilu Lacar ]
Junilu Lacar
Bartender

Joined: Feb 26, 2001
Posts: 4777
    
    8

Originally posted by Bianca Deloso:
<jsp:useBean id="changeItemProduct" type="com.hp.adm.changeItem.ChangeItemProduct"/>
<logic:iterate id="changeItemProduct" name="changeItemProducts">
What am I doing wrong? Thanks! Any help would be greatly appreciated! :-)

The "changeItemProduct" is the duplicate definition.
This is the same type of error you'd get in this code:

The solution is to change one of the id's.
[ October 24, 2003: Message edited by: Junilu Lacar ]

Junilu - [How to Ask Questions] [How to Answer Questions]
 
 
subject: Nesting struts tags