Hi Volker!

>i will try to test this this afternoon. (hope i found the time)

Thanks!

>are you sure this work?
>  public void anotherAction() {...}
>should be
>  public String anotherAction() {...; return null;}

Yes, that makes no difference. I always use void, when there's no
navigation.

Regards
Helmut


>
>Regards,
>    Volker
>
>2007/4/19, H. Swaczinna <[EMAIL PROTECTED]>:
>> Hi,
>>
>> I want to display the result of an action (a new page) in a new
>> browser window. So I set the target attribute of tc:link or
>> tc:button to the window name. This works fine. But when I click another
>> button or link in the page the action is not executed (the page is
>> rendered again). I always have to click the button twice.
>>
>> I think this is a known problem with a known solution. In my code for
>> the PDF download I included this two lines to avoid this problem:
>>
>> // Save serialized view or else after clicking on the export button,
>> // user will have to click TWICE to invoke another action
>> StateManager stateManager = 
>(StateManager)facesContext.getApplication().getStateManager();
>> stateManager.saveSerializedView(facesContext);
>>
>> (Taken from http://swforum.sun.com/jive/thread.jspa?threadID=63566)
>>
>> Maybe this code should be included in Tobago (or myFaces?) when the
>> target attribute is set.
>>
>> Here's a simple test case for you:
>>
>> test1.jsp
>>
>> <f:view>
>> <tc:page id="testPage1" width="300px" height="200px">
>> <tc:out value="Page 1"/>
>> <tc:link label="new window"
>> target="newWindow"
>> action="#{controller.newWindowAction}" />
>> <tc:button label="another action"
>> action="#{controller.anotherAction}" />
>> </tc:page>
>> </f:view>
>>
>> test2.jsp
>>
>> <f:view>
>> <tc:page id="testPage2" width="300px" height="200px">
>> <tc:out value="Page 2"/>
>> </tc:page>
>> </f:view>
>>
>> faces-config.xml
>>
>> <navigation-rule>
>> <from-view-id>/test1.jsp</from-view-id>
>> <navigation-case>
>> <from-outcome>newWindow</from-outcome>
>> <to-view-id>/test2.jsp</to-view-id>
>> </navigation-case>
>> </navigation-rule>
>>
>> Controller.java
>>
>> public String newWindowAction() {
>> LOG.debug("newWindowAction");
>> return "newWindow";
>> }
>>
>> public void anotherAction() {
>> LOG.debug("anotherAction");
>> }
>>
>> When you click the "new window" link in test1.jsp a new window is
>> opened with test2.jsp. But when you click the link again test1.jsp
>> is displayed in the new window. When you click the "another action"
>> button after clicking the "new window" link the anotherAction()
>> is not called. You have to click the button once again.
>>
>> I'm using myFaces 1.1.5 and Tobago 1.0.11 from yesterday.
>> I think you should be able to reproduce this behavior.
>>
>> Regards
>> Helmut
>>

Reply via email to