Thanks for the link Mert. If you look at the page, it
seems be missing 50% of the puzzle; it shows how to bind a variable in
the target page, but it does not state how to pass that variable from the
originating page--the resolver function is resolving the binding of the current
(i.e., the new popped up window) page, but I need to use the value from the
originating page. I don't understand how one does so from the
originating page when you wish to create a popup. I would like to control
the size of the popup, which appears only to be available if I open the window
via _javascript_. That requirement aside, do you by any chance have a
working example of a link opening a new window, first passing a value from one
page to the next? This is not nearly as straightforward as I would
expect.
The website [1] below suggests using output link, but I'm
not sure what they did to make it work (i.e., they call target="_blank", but I
don't see them attempting to first bind a value as would be the case with a
commandLink).
From: Mert Çaliskan [mailto:[EMAIL PROTECTED]
Sent: Wednesday, May 03, 2006 12:32 PM
To: MyFaces Discussion
Subject: Re: Popup New Window with CommandLink onclick attribute
http://www.jroller.com/page/mert?entry=how_to_pass_request_parameters
Regards,
Mert..
On 5/3/06, Romanowski,
Tim <[EMAIL PROTECTED]>
wrote:
Thanks Matthias, the link you've listed does explain why I am not
setting a value before the onclick method is called. Unfortunately,
although that explains why I cannot update a backing value via a binding
method before opening a new window, I still am at a loss as to how I can
in fact open a new window that is passed the current value of my
datatable row.
**Does anyone have an example where they generate a popup window and
pass a value for use by the new window? I do not understand how a
managed bean might be instantiated if I am submitting a form via
_javascript_, as explained below. Ideally, I'd like to simply have a
commandLink in my dataTable that I can use to open the new window, and
bind a value before the page in that window is actually executed.
I _have_ tried one thing that is similar a hack used for getting the
apache display taglib to work with commandLinks: In addition to
surrounding my JSF datatable with a form tag, I've included in that form
tag a standalone commandLink. I then call a _javascript_ method from the
datatable which sets the _link_hidden_ value of the form to the page I'd
like to open; I also set a dummy param value (I called it "id") like so:
<h:form id="myMainForm">
<t:dataTable value="#{pageFlow.dataList}" var="dbRow">
... Some table columns ...
<t:column>
<f:facet name="header">
<f:verbatim>Header Name</f:verbatim>
</f:facet>
<h:form>
<h:commandLink
value="#dbRow.cellValue}">
</h:commandLink>
</h:form>
</t:column>
... More columns ...
<t:commandLink action="" id="viewNewPageLink"
<f:param name="id" value="" />
</t:commandLink>
</h:form>
<script type="text/_javascript_">
function myJavaScript(cellValue){
var f = document.forms['myMainForm'];
f.elemnts['myMainForm:_link_hidden_'].value='myMainForm:viewNewPageLink'
;
f.elements['id'].value=cellValue;
f.submit();
}
-----Original Message-----
From: [EMAIL PROTECTED] [mailto: [EMAIL PROTECTED]] On Behalf Of
Matthias Wessendorf
Sent: Tuesday, May 02, 2006 5:55 AM
To: MyFaces Discussion
Subject: Re: Popup New Window with CommandLink onclick attribute
> befor executing an action. However, because I am using the onclick
> attribute to open a new window, the window seems to be rendered before
> the updateActionListener actually sets the value. Since the target
> attribute
this is because you are doing a "non-postback" request Phase 1
(RESTORE_VIEW) goes directly to Phase 6 (RENDER_RESPONSE)
you may take a look at [1]
-Matthias
[1] _javascript_ w/ JSF
(http://wiki.apache.org/myfaces/_javascript_WithJavaServerFaces )
> doesn't work, I can't do something like 'target="this.form._blank". I
> am using Apache Beehive for my pageflow controller, and am attempting
> to set a value in my controller class; the idea is that when the popup
> page is created, the new page's backing bean can grab the value I
> previously set in the controller via the commandLink.
>
> I'm new to webapp development and jumped into JSF/Beehive headfirst,
> so my misunderstanding of _javascript_ may be the culprit. Any help
> would be greatly appreciated.
>
> Here's a sample of the code:
>
> <t:column>
> <f:facet name="header">
> <f:verbatim>Header Name</f:verbatim>
> </f:facet>
> <h:form>
> <h:commandLink
> value="#dbRow.cellValue}">
> <t:updateActionListener
> property="#{pageFlow.thisSetsValueInMyController}"
> value="#{dbRow.cellValue}" />
> </h:commandLink>
> </h:form>
> </t:column>
>
> _javascript_ (currently in same page for trying this):
>
> <script type=text/_javascript_">
> Function myJavaScript(cellValue){
> popup =
> window.open("http://localhost:8080/XYZ/controller/goNewPage.do",
> "page name",
> "height=300,width=300,resizable=1,toolbar=no,menubar=no");
> popup.focus();
> }
> </script>
>
>
>
> TR
>
--
Matthias Wessendorf
Aechterhoek 18
48282 Emsdetten
http://jroller.com/page/mwessendorf
mwessendorf-at-gmail-dot-com

