<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Initializing a Managed Bean's Property
</h3>
<span style="margin-bottom: 10px;">
    reply from <a href="http://community.jboss.org/people/dgolovin">Denis Golovin</a> in <i>JBoss Tools</i> - <a href="http://community.jboss.org/message/535973#535973">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><blockquote class="jive-quote"><p>John Bailo wrote:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I do have a default value set.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I was hoping that at the time my JSF page called the bean, it would have read in the default values and be able to use them in executing the method called by JSF.&#160;&#160; But that doesn't appear to be the case.</p></blockquote><p>It should depend on bean scope. For instance request scope bean will get re-initialized on each page refresh.</p><blockquote class="jive-quote"><p>John Bailo wrote:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I was looking for something like a properties file that is read on instantiation.&#160; Again it seems like manged properties of the managed bean would do this -- but I am not sure at what point the bean is instantiated and what is required to get the default value read into the bean.&#160; From what I read it seemed like it should just happen automatically once I established the managed property and added a default value. </p></blockquote><p>I'm just guessing but why not this approach <span> :) </span> I get from <a class="jive-link-external-small" href="http://www.icefaces.org">http://www.icefaces.org</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>"The simplest way is to use Chaining in the faces config and call your init method. You'll have to add an empty Object of String parameter to your a setInit method.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-xml">...
<span class="jive-xml-tag">&lt;managed-property&gt;</span>
<span class="jive-xml-tag">&lt;property-name&gt;</span>init<span class="jive-xml-tag">&lt;/property-name&gt;</span>
<span class="jive-xml-tag">&lt;value&gt;</span>java.lang.Object<span class="jive-xml-tag">&lt;/value&gt;</span>
<span class="jive-xml-tag">&lt;/managed-property&gt;</span>
....
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>From a design point of view I don't like my beans doing a whole lot of initialization work I usually make a naming distinction and move all initialization code into controller. The controller can initialized the bean directly by a callback.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-xml">...
<span class="jive-xml-tag">&lt;managed-property&gt;</span>
<span class="jive-xml-tag">&lt;property-name&gt;</span>init<span class="jive-xml-tag">&lt;/property-name&gt;</span>
<span class="jive-xml-tag">&lt;value&gt;</span>#{myController}<span class="jive-xml-tag">&lt;/value&gt;</span>
<span class="jive-xml-tag">&lt;/managed-property&gt;</span>
....
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>where</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-java">pubic <font color="navy"><b>void</b></font> setInit(MyController controller)<font color="navy">{</font>
controller.init(<font color="navy"><b>this</b></font>);
<font color="navy">}</font>
</code></pre><p>"</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/535973#535973">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Tools at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2128">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>