Maybe I'm stupid, but I haven't found any getRequestBean Method on FacesContext neither in other classes.

I tried myfaces 1.0.7 aswell...

Can you give me a hint?

Chris



Heath Borders-Wing <[EMAIL PROTECTED]>

16.11.2004 15:02
Bitte antworten an "MyFaces Discussion"

       
        An:        MyFaces Discussion <[EMAIL PROTECTED]>
        Kopie:        
        Thema:        Re: ValueChangeEvent and ValueChangeListener



Yes, you call FacesContext.getRequestBean(String) and pass in the name
of the var you gave to the dataTable.  All UIData elements place that
variable in request scope when a component from a row broadcasts and
event.


On Tue, 16 Nov 2004 10:58:13 +0100, [EMAIL PROTECTED]
<[EMAIL PROTECTED]> wrote:
>
> Hi there,
>
> short: Can I get the model object of a row in a dataTable out of the event
> object in the ValueChangeListener method?
>
> long:
> I try to do something with the ValueChangeEvent. My itension is like this:
> I have an order screen, where the user types in different values of an
> order.
> The main part is a dataTable with SKU Lines(item lines). Now the user wants
> to type in the sku number and the application should fetch all the
> data(description,
> price,vat) from the database by it self.
> So I added a ValueChangeListener to my InputText Field. I get into the
> method but
> I don't know how to get the model object of my sku line. I tried with the
> ValueBindingMap
> but had no luck to find the right path....
>
> A workaround would be to make the ValueChangeListener on the skuline model
> object.
> Then I could reference the model easily with "this". But I don't like to
> have to JSF GUI Method
> on my generic skuline model object....
>
> Here are my classes:
>
> public class WVSForm <--------------  This is my BackingBean
> {
>         private              WVS        a_WVSObject                 = null;
>
>         public void skuChangeListener(javax.faces.event.ValueChangeEvent
> event)
>         {
>
>                         Integer t_skunbr = (Integer)event.getNewValue();
>
>                 ValueBinding t_bind =
> event.getComponent().getValueBinding("value");
>                 String t_wvsSkuLineItemEL = t_bind.getExpressionString();
>                 Object t_source = event.getSource();
>                 Object t_skulineItem =
> FacesContext.getCurrentInstance().getApplication().getVariableResolver().resolveVariable(FacesContext.getCurrentInstance(),t_wvsSkuLineItemEL);
>
>
>                 System.out.println("");
>
> //GkSkuBroker.current().getFullSku(t_skunbr.toString(),"1",event.getSource())
>         }
> }
>
> public class WVS  <----------------------- This is my order model
> {
>         private java.lang.Integer a_Rayon;
>         private java.lang.Integer a_Company;
>         private java.lang.String a_UserId;
>         private java.lang.Integer a_Status;
>         private java.util.Date a_CreateDate;
>         private BigDecimal a_TotalCostAmount = new BigDecimal(0.00d);
>         private java.util.List a_SkuLineItemList; //
> <-------------------------------------   this is my List of skulines
>         private Integer a_WvsNbr;
>         private Integer a_SenderBranch;
>         private Integer a_ReceiverBranch;
> }
>
> public class WVSSkuLineItem  <------------------------ This is my skuline
> model
> {
>
>         private java.lang.String a_Descriptionvendor;
>         private java.lang.Integer a_Skunbr;
>         private String a_SkuType = "1";  // TODO fix this with the skubroker
>         private BigDecimal a_Costamount = new BigDecimal(new
> BigInteger("0"),2);
>         private Integer a_Seqnbr;
>         private BigDecimal a_Quantity = new BigDecimal(new
> BigInteger("0"),3);
>         private BigDecimal a_Costprice = new BigDecimal(new
> BigInteger("0"),2);
>         private BigDecimal a_Retailprice = new BigDecimal(new
> BigInteger("0"),2);
>         private java.lang.String a_Description;
>         private BigDecimal a_Retailamount = new BigDecimal(new
> BigInteger("0"),2);
>         private WVS a_Header;
>         private Integer a_Company;
> }
>
> And the JSP entry:
>
> <x:dataTable
>         id="skuListTable"
>         styleClass="InsideFieldSetSkuTable"
>         style="border-collapse  : collapse;"
>         headerClass="BoldText"
>         rowClasses="FormNormal"
>         columnClasses="TableInputButton NormalText, FillerSmall,
> FieldFormMedium NormalText TextLeftAlign,Filler,FieldForm NormalText
>                                                         var="sku"
>         value="#{WVSForm.a_WVSObject.a_SkuLineItemList}"
>          >
>
>           <h:column >
>                 <f:facet name="header">
>                   <h:outputText value="#{msg.WVS_sku_nbr}" />
>                 </f:facet>
>                 <x:message for="" detailFormat="*"
> styleClass="ErrorText" />
>                 <h:inputText id="skunbr" value="#{sku.a_Skunbr}"
> required="true" styleClass="FieldFormMedium NormalText TextLeftAlign"
> valueChangeListener="#{WVSForm.skuChangeListener}"  >
>                   <f:validateLength minimum="8" maximum="8" />
>                 </h:inputText>
>           </h:column>
> </x:dataTable>
>
>
> Thanks for reading this!
>
> Chris
>


--
If you don't have a GMail account, I probably have 5 invites.  Just ask!
-Heath Borders-Wing

[EMAIL PROTECTED]

Reply via email to