2016-10-20 2 views
1

Ich würde gerne wissen, wie ich ein JavaScript-Objekt für meine Managed Bean übergeben kann. in diesem Link https://www.mkyong.com/jsf2/how-to-pass-new-hidden-value-to-backing-bean-in-jsf/ erkläre ich, aber ist nicht, dass ich brauche, weil ich versuchen möchte, füllen Sie es durch den Eingangstyp Radio-Tag. Folgen Sie meinen Code unten:Wie kann ich JavaScript-Objekt für JSF Managed Bean übergeben

Meine JavaScript-Methode:

function salvaProdutoCookie(){ 

var indice = getIndiceChecked(); 

if ((indice!=-1)&&(indice!=-2)){ 

    //setListaFaixaCookie(document.forms[0].hddCodProduto[indice].value);  
    document.cookie="codProduto="+document.forms[0].hddCodProduto[indice].value; 
    document.cookie="nomeProduto="+document.forms[0].hddNomeProduto[indice].value; 
    document.cookie="qtdFaixaPpsta="+document.forms[0].hddQtdFaixaPpsta[indice].value; 
    document.cookie="numDiasValPpsta="+document.forms[0].hddNumDiasValPpsta[indice].value; 
    document.cookie="numMesDesatPpsta="+document.forms[0].hddNumMesDesatPpsta[indice].value; 
    document.cookie="dtUltAtualizacao="+document.forms[0].hddDtUltAtualizacao[indice].value; 
    document.cookie="cdRespUltimaAtualizacao="+document.forms[0].hddCdRespUltimaAtualizacao[indice].value; 
    document.cookie="nomeRespUltimaAtualizacao="+document.forms[0].hddNomeRespUltimaAtualizacao[indice].value;  

}else if(indice==-2){ 

    //setListaFaixaCookie(document.forms[0].hddCodProduto.value); 
    document.cookie="codProduto="+document.forms[0].hddCodProduto.value; 
    document.cookie="nomeProduto="+document.forms[0].hddNomeProduto.value; 
    document.cookie="qtdFaixaPpsta="+document.forms[0].hddQtdFaixaPpsta.value; 
    document.cookie="numDiasValPpsta="+document.forms[0].hddNumDiasValPpsta.value; 
    document.cookie="numMesDesatPpsta="+document.forms[0].hddNumMesDesatPpsta.value; 
    document.cookie="dtUltAtualizacao="+document.forms[0].hddDtUltAtualizacao.value; 
    document.cookie="cdRespUltimaAtualizacao="+document.forms[0].hddCdRespUltimaAtualizacao.value; 
    document.cookie="nomeRespUltimaAtualizacao="+document.forms[0].hddNomeRespUltimaAtualizacao.value;  

}else if (indice==-1){ 

    document.cookie="listaFaixas="; 
    document.cookie="codProduto="; 
    document.cookie="nomeProduto=";   
    document.cookie="qtdFaixaPpsta="; 
    document.cookie="numDiasValPpsta="; 
    document.cookie="numMesDesatPpsta="; 
    document.cookie="dtUltAtualizacao="; 
    document.cookie="cdRespUltimaAtualizacao="; 
    document.cookie="nomeRespUltimaAtualizacao=";  

} 
} 

Teil meines xhtml folgt, wo mein Ziel gesetzt:

<h:column> 
<input type="radio" class="optionbutton" name="rdbOption" onclick="javascript:salvaProdutoCookie();" value="#{consultarFaixaProdutoBean.faixaProdutoVO}" /> 
</h:column> 

Und in der Managed Bean, ich möchte, um das Objekt setzen gefangen in JavaScript hier:

Antwort

0

Robson, soweit ich weiß gibt es keine magische Lösung dafür. Sie müssen Ihr JavaScript-Objekt serialisieren und die JSON-Zeichenfolge in die Eingabe einfügen, die an die ManagedBean-Eigenschaft angehängt ist, und Ihre JSON-Zeichenfolge anschließend zu einem Java-Objekt deserialisieren.

Sie können auch einen Konverter verwenden, um diesen Serialisierungs-/Deserialisierungsprozess zu verarbeiten.

Prost

+0

Andre, Haben Sie ein Beispiel oder eine Anleitung, um mich darüber zu informieren? –

Verwandte Themen