This content has been marked as final.
Show 3 replies
-
1. Re: how to set back bean value from javascript?
sergeysmirnov Jul 16, 2007 3:18 AM (in response to hefeng)If you want to send this data by pressing ajax button, you can use a4j:actionparam with 'noEscape' attribute set to false.
Example:<a4j:commandButton .......> <a4j:actionparam name="width" noEscape="true" value="window.screen.width" /> <a4j:actionparam name="height" noEscape="true" value="window.screen.height" /> ..... </a4j:commandButton>
You can assign the property of the bean directly with a4j:actionparam using assignTo attribute. Like:<a4j:actionparam name="width" noEscape="true" value="window.screen.width" assignTo="#{screenbean.width}" />
In general, a4j:jsFunction allows to send any data from javascript. a4j:actionParam are also used there similar to the example above. -
2. Re: how to set back bean value from javascript?
hefeng Jul 16, 2007 4:18 AM (in response to hefeng)Hi, SergeySmirnov,
Many thanks for your quick reply!
One more question: I want to initialize the Screen Bean during the page loading time and it will only be initialized once. How can I realize this case? I try to use the following code but it didn't work.<body onload="javascript: deleteUserScreenSize();"> <a4j:jsFunction name="deleteUserScreenSize" action="#{screenBean.deleteUserScreenSize}" reRender="form1"> <a4j:actionparam name="width" noEscape="true" value="window.screen.width" assignTo="#{screenBean.width}" /> <a4j:actionparam name="height" noEscape="true" value="window.screen.height" assignTo="#{screenBean.height}" /> </a4j:jsFunction>
-hefeng -
3. Re: how to set back bean value from javascript?
hefeng Jul 16, 2007 4:28 AM (in response to hefeng)After looking at the sample of a4j:jsFunction, I found the way implement my case. The following is the code.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:t="http://myfaces.apache.org/tomahawk" xmlns:a4j="https://ajax4jsf.dev.java.net/ajax" xmlns:rich="http://richfaces.ajax4jsf.org/rich"> <head> <title>Detect screen size</title> </head> <body onload="deleteUserScreenSize()"> <f:view> <h:form id="form1" > <a4j:jsFunction name="deleteUserScreenSize" action="#{sbean.deleteUserScreenSize}" reRender="form1"> <a4j:actionparam name="width" noEscape="true" value="window.screen.width" assignTo="#{sbean.width}" /> <a4j:actionparam name="height" noEscape="true" value="window.screen.height" assignTo="#{sbean.height}" /> </a4j:jsFunction> </h:form> </f:view> </body> </html>
Cheers