[英]How do I pass JSF managed bean properties to a JavaScript function?
[英]How Can I pass JavaScript Object for JSF Managed Bean
我想知道如何为我的Managed Bean传递一个JavaScript对象。 在这个链接https://www.mkyong.com/jsf2/how-to-pass-new-hidden-value-to-backing-bean-in-jsf/解释,但不是我需要的,因为我想要尝试通过输入类型的无线电标签填写它。 请关注我的代码:
我的JavaScript方法:
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=";
}
}
跟随我的xhtml的一部分设置我的对象:
<h:column>
<input type="radio" class="optionbutton" name="rdbOption" onclick="javascript:salvaProdutoCookie();" value="#{consultarFaixaProdutoBean.faixaProdutoVO}" />
</h:column>
在Managed Bean中,我想在这里设置JavaScript中捕获的对象:
@Controller
@ManagedBean
@SessionScoped
public class ConsultarFaixaProdutoBean extends BaseController implements Serializable {
private FaixaProdutoVO faixaProdutoVO;
/**
* @return the faixaProdutoVO
*/
public FaixaProdutoVO getFaixaProdutoVO() {
return faixaProdutoVO;
}
/**
* @param faixaProdutoVO the faixaProdutoVO to set
*/
public void setFaixaProdutoVO(FaixaProdutoVO faixaProdutoVO) {
this.faixaProdutoVO = faixaProdutoVO;
}
}
罗布森,据我所知,没有神奇的解决方案。 您必须序列化您的javascript对象并将JSON字符串放在附加到ManagedBean属性的输入上,然后将JSON字符串反序列化为Java对象。
您还可以使用转换器来处理此序列化/反序列化过程。
干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.