Hi, this is a big question, so probably for only the
patient ones...
I'm beeing a very purist on MVC in my application, so
i got a .jsf that is called HTMLbuttons.jsf, wich
looks like this.

    code:


<%@ taglib uri="/WEB-INF/struts-bean.tld"
prefix="bean"%> 
<%@ taglib uri="/WEB-INF/struts-html.tld"
prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld"
prefix="logic"%> 
 
        <logic : present name="buttons" scope="session"> 
        
                <table>
                  <tr>       
 
                        <logic:iterate id="buttonElement" name="buttons"
indexId="idx">
                         
                          <td align="left">
                          
                                <bean : d efine id="buttonAction">
                                        <bean:message name="buttonElement"
property="btnAction"/>
                                </bean : define>
                                
                                <bean : define id="buttonFigure">
                                        <bean:write name="buttonElement"
property="btnFigure"/>
                                </bean : define>
                                
                                <html:image property="method" value="<%=
buttonAction %>" 
                                 pageKey="<%= buttonFigure %>"/>
                        
                                 
                          </td>
                                
                        </logic:iterate>
                
                  </tr>
                </table>
                
                <input type="hidden" name="method"/>
                 
                
        </logic : present>



This piece of page just iterates over a collection
"buttons" that was set in a specific Action, so what
the control layer sends, the jsp displays.
This piece of page is usually included in other jsps
in the following manner.

    code:


        <html:form action="/registerpartyhousereq">
 
                <html:errors/>          
                <html:base/>
                
                <%@ include
file="/functionalBlocks/partyhouseHTMLcomponent.jsf"
%>
 
                <%@ include
file="/functionalBlocks/addressHTMLcomponent.jsf" %>
        
                <logic : present name="partyHouseIndex"
scope="request">                
                        <html:hidden name="partyHouseIndex"
property="partyHouseIndex" value="<%=
(String)request.getAttribute("partyHouseIndex") %>"/>
                </logic : present>
 
        <%-- !!!!!!  --%>
        <%-- !!!!!!  --%>
        <%-- HERE IT'S INCLUDED
                <%@ include file="/functionalBlocks/HTMLButtons.jsf"
%>
        <%-- !!!!!! --%>
        </html:form>    



As you can see the HTML buttons never know where
they're gonna be placed, because all pages use them.

This whole thing works perfectly in Mozilla Firefox,
but not in Internet Explorer. Here is the explanation.

Note the following tag in HTMLButtons.jsf.

    code:


<html:image property="method" value="<%= buttonAction
%>" 
                                 pageKey="<%= buttonFigure %>"/>



I have a BaseLookupDispatchAction that waits for a
submission parameter "method" that can have 4 values:
Create, Save, Update, Delete.

Suppose now the the value of buttonAction is "Save",
for example (the figure being displayd doesn't really
matter).
When this page is submitted, Mozilla Firefox sends the
following values.
method.x=12
method.y=80
method=Save
Where the numbers 12 and 80 are the place where the
image was clicked.

But, when Internet Explorer submits this page, it
submits the follwing values - The weird thing is that
Internet Explorer is actually the one that does what
the standart says.
method.x=12
method.y=80
Note that it doesn't send method=Save (sending this is
not the standart, but Firefox is smarter that what the
standart says and just send this third parameter, but
not IE), which is what i really expect for my
BaseLookupDispatchAction.

So, i needed to workaround this, what can be easily
done by using ordinary html:submit buttons, because
they'll send what i want perfectly. The point is that
i really would like to have images for the user to
click on (in my application, presentation is very
important).

So, in HTML forums i got some options that would
workaround this if i were using static pages, but they
won't work in my case because as you see my buttons
don't really know in wich page or form they're gonna
be displayed.
If i were actually writting these buttons in each page
i could use one of this approaches:
- Use one form for each button and place a hidden
filed named "method" and associating the action for
that button.
- Use a traditional hyperlink with an image tag inside
it. This link would contain all information i need
from that page.
But, as i said and you can see, none of these
solutions would work in my case.

That's why i'm asking the question on this forum. I
didn't find a solution using html stuff, but maybe,
some good Struts expert could tell me a Struts
workaround for dealing with this.

I first thought on some kind of indexed properties,
but i really couldn't figure out how to accomplish it.
Maybe there are way to do it with indexed
properties...

I also tried Ted Husted's ImageButtonBean, but i
couldn't figure it out how to use it with the
"architecture" i just described.

So, does anyone have an idea???

Thanks and Regards,
ltcmelo


        
        
                
_______________________________________________________
Yahoo! Acesso Grátis - navegue de graça com conexão de qualidade! Acesse: 
http://br.acesso.yahoo.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to