Thanks Matthias,
That was the problem.
Thanks again,
Vinod
|--------+--------------------------------->
| | Matthias Wessendorf |
| | <[EMAIL PROTECTED]|
| | endorf.de> |
| | |
| | 03/16/2005 02:25 PM |
| | Please respond to |
| | matzew |
| | |
|--------+--------------------------------->
>----------------------------------------------------------------------------------------------------------|
|
|
| To: Vinod Singh <[EMAIL PROTECTED]>
|
| cc: MyFaces Discussion <[email protected]>
|
| Subject: Re: commandButton does not work with Tiles
|
>----------------------------------------------------------------------------------------------------------|
Vinod,
you are using "template.jsp" and *inside*
client.jsp ?
Don't use <f:view> inside a <f:subview>
I email you *private* my tiles-example.war
that should help ;)
Vinod Singh wrote:
>
> Hi Matthias,
>
> I think I am not able to convey my problem. In my application when user
> clicks on 'Client' menu of navigation.jsp then client.jsp opens in the
body
> of the tile now this client.jsp has a submit button. On click of submit
> button myfaces should call Persister.saveClient() method, which it is not
> calling.
>
> I am sending you all changed/new files I used with myfaces-tiles.war, so
> that you can run it easily.
>
> On running this example you will notice one strange behaviour of IE 6.0
(if
> you are using it), you can't move to any other page once you clicked on
> Client link as IE show some javascript errors. While FireFox does not
show
> this error.
>
> Thanks,
>
> Vinod
> (See attached file: matthias.zip)
>
>
>
> |--------+--------------------------------->
> | | Matthias Wessendorf |
> | | <[EMAIL PROTECTED]|
> | | endorf.de> |
> | | |
> | | 03/16/2005 01:42 PM |
> | | Please respond to |
> | | "MyFaces Discussion" |
> | | |
> |--------+--------------------------------->
> >
----------------------------------------------------------------------------------------------------------|
> |
|
> | To: MyFaces Discussion <[email protected]>
|
> | cc:
|
> | Subject: Re: commandButton does not work with Tiles
|
> >
----------------------------------------------------------------------------------------------------------|
>
>
>
>
> Vinod,
>
> I modified the tiles sample in CVS:
>
> -navigation.jsp:
> <h:commandButton value="nested Tiles" action="#{tilesBacking.pressMe}">
> ...
> </h:commandButton>
>
> -created TilesBacking:
> public class TilesBacking {
>
> public String pressMe(){
> System.out.println("pushed the button");
> return ("nav_page4");
> }
>
> }
>
> -in faces-config.xml (nothing changed):
> <navigation-rule>
> <from-view-id>*</from-view-id>
> <navigation-case>
> <from-outcome>nav_page1</from-outcome>
> <to-view-id>/page1.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>nav_page2</from-outcome>
> <to-view-id>/page2.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>nav_page3</from-outcome>
> <to-view-id>/non-tile.jsp</to-view-id>
> </navigation-case>
> <navigation-case>
> <from-outcome>nav_page4</from-outcome>
> <to-view-id>/page4.jsp</to-view-id>
> </navigation-case>
> </navigation-rule>
>
>
> And for me it works... Sure, the pressMe() speaks not
> to a database, but it "logs" something out.
>
> Should I email you dirctly the *new* tiles-example-app ?
>
> Or would you like to use the sources from CVS instead?
>
> -Matthias
>
> Vinod Singh wrote:
>
>>Matthias,
>>
>>I used myfaces-tiles.war for my sample applications. With and without
>
> tiles
>
>>scenarios are explained below.
>>
>>Scenario #1 No Tiles
>>-----------------------------
>>I created a simple page say client.jsp and I accessed it like below
>>
>>http://localhost:8080/UI/client.jsf
>>
>>After submitted method Persister.saveClient() is called and data goes to
>>database.
>>
>>Scenario #2 With Tiles
>>-----------------------
>>
>>Inserted following in navigation.jsp
>>
>> <h:commandLink action="client">
>> <h:outputText value="Client" />
>> </h:commandLink>
>>
>>Inserted following lines in tiles-faces-config.xml
>>
>> <navigation-case>
>> <from-outcome>client</from-outcome>
>> <to-view-id>/client.jsp</to-view-id>
>> </navigation-case>
>>
>>Inserted following lines in tiles.xml
>>
>>
>> <definition name="/client.tiles" extends="layout.example" >
>> <put name="body" value="/client.jsp" />
>> </definition>
>>
>>Besides above 3 settings everything else is common in both cases.
>>Now method Persister.saveClient() is not called when I submit the form.
>>
>>Thanks,
>>
>>Vinod
>>
>>
>>
>>|--------+--------------------------------->
>>| | Matthias Wessendorf |
>>| | <[EMAIL PROTECTED]|
>>| | endorf.de> |
>>| | |
>>| | 03/16/2005 12:41 PM |
>>| | Please respond to |
>>| | "MyFaces Discussion" |
>>| | |
>>|--------+--------------------------------->
>> >
>
>
----------------------------------------------------------------------------------------------------------|
>
>
>> |
>
> |
>
>> | To: MyFaces Discussion <[email protected]>
>
> |
>
>> | cc:
>
> |
>
>> | Subject: Re: commandButton does not work with Tiles
>
> |
>
>> >
>
>
----------------------------------------------------------------------------------------------------------|
>
>
>>
>>
>>
>>Without tiles means
>>
>><f:subview id="xxx">
>> <jsp:include page="fooBar.jsp"/>
>></f:subview>
>>
>>so instead of Tiles using includes ?
>>
>>.-MAtthias
>>
>>Vinod Singh wrote:
>>
>>
>>>Hi Matthias,
>>>
>>>Here I am saying that when I click on the submit button
(<h:commandButton
>>>id="submit" action="#{Persister.saveClient}" value
>>>
>>>
>>>
>>>>="#{Message.client_submit_button}" />) then method Persister.saveClient
>
> ()
>
>>>is not called. If I use this page without tiles then this method is
>>
>>called.
>>
>>
>>>Thanks,
>>>
>>>Vinod
>>>
>>>
>>>
>>>Vinod,
>>>
>>>when you use Subviews (<f:subview/>)
>>>
>>>then you must use "global" navigation rulez for
>>>
>>>command components (commadnButton or commandLink)
>>>
>>>if you use something like:
>>>
>>><h:commandButton id="submit" action="myoutcome" value
>>>="#{Message.client_submit_button}" />
>>>
>>>you must have something like that in faces.-config.xml
>>>
>>>
>>>
>>> <navigation-rule>
>>> <from-view-id>*</from-view-id>
>>> <navigation-case>
>>> <from-outcome>myoutcome</from-outcome>
>>>
>>><to-view-id>/myPageWithTiles.jsp</to-view-id>
>>> </navigation-case>
>>> </navigation-rule>
>>>
>>>
>>>HTH,
>>>Matthias
>>>
>>>
>>>Vinod Singh wrote:
>>>
>>>
>>>
>>>>Hi All,
>>>>
>>>>I have created a simple jsf page, when I acces this page without tiles
>>>
>>>then
>>>
>>>
>>>
>>>>everything works fine but with tiles control does not transfer to the
>>>>desired class specified in the action attribute of commandButton.
>>>>
>>>>Can anybody tell where I am wrong?
>>>>
>>>>Thanks,
>>>>
>>>>Vinod
>>>>
>>>>
>>>><%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
>>>><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
>>>><f:loadBundle basename="Message" var="Message"/>
>>>>
>>>><f:view>
>>>><html>
>>>><head><title>Client</title></head>
>>>><body>
>>>> <h:form id="clientForm">
>>>> <h:message for="clientForm" /><br />
>>>> <h:panelGrid columns="3">
>>>> <h:outputText value="#{Message.client_name_label}" />
>>>> <h:inputText id="client_id" value="#{Client.client_id}" required
>>>
>>>="
>>>
>>>
>>>
>>>>true">
>>>> <f:validateLength maximum="30" minimum="3" />
>>>> </h:inputText>
>>>> <h:message for="client_id" />
>>>>
>>>> <h:outputText value="#{Message.client_desc_label}" />
>>>> <h:inputText id="description" value="#{Client.description}"
>>>>required="true">
>>>> <f:validateLength maximum="50" minimum="1" />
>>>> </h:inputText>
>>>> <h:message for="description" />
>>>> <h:commandButton id="submit" action="#{Persister.saveClient}"
>>>
>>>value
>>>
>>>
>>>
>>>>="#{Message.client_submit_button}" />
>>>> </h:panelGrid>
>>>> </h:form>
>>>></body>
>>>></html>
>>>></f:view>
>>>>
>>>>
>>>>
>>>--
>>>Matthias We�endorf
>>>Aechterhoek 18
>>>DE-48282 Emsdetten
>>>Germany
>>>phone: +49-2572-9170275
>>>cell phone: +49-179-1118979
>>>email: matzew AT apache DOT org
>>>url: http://www.wessendorf.net
>>>callto://mwessendorf (Skype)
>>>icq: 47016183
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
>
> --
> Matthias We�endorf
> Aechterhoek 18
> DE-48282 Emsdetten
> Germany
> phone: +49-2572-9170275
> cell phone: +49-179-1118979
> email: matzew AT apache DOT org
> url: http://www.wessendorf.net
> callto://mwessendorf (Skype)
> icq: 47016183
>
>
--
Matthias We�endorf
Aechterhoek 18
DE-48282 Emsdetten
Germany
phone: +49-2572-9170275
cell phone: +49-179-1118979
email: matzew AT apache DOT org
url: http://www.wessendorf.net
callto://mwessendorf (Skype)
icq: 47016183