bom pessoal, como tinha postado sobre aquele problema dos valores com o MB, bom a solução foi aquela que postamos mesmo, até o momento, e agora um dilema aqui,
essa tela possui vários campos e são renderizados conforme é escolhido no selectOneMenu, agora queria uma opnião em questão de performace, onde ficaria melhor
meu controle de tela, na tela mesmo atráves de if dentro de um rendered ou esse if no manegedBean.
bom vou mostrar o meu, que estou fazendo os if no rendered.
selectOneMenu que faz a escolha..
<h:outputLabel value="SITUAÇÃO TRIBUTÁRIA:" />
<h:selectOneMenu id="CSTTribNorm" value="#{nFeProdutoMB.camposICMSCSTTribNorm}" >
<f:selectItem itemLabel="SELECIONE" itemValue="" />
<f:selectItem itemLabel="00 - TRIBUTADA INTEGRALMENTE" itemValue="00" >
<f:selectItem itemLabel="10 - TRIBUTADA E COM COMBRANÇA DO ICMS POR ST" itemValue="10" />
<f:selectItem itemLabel="10 - TRIBUTADA E COM COMBRANÇA DO ICMS POR ST" itemValue="10a" />
<f:selectItem itemLabel="20 - COM REDUÇÃO DE BASE DE CÁLCULO" itemValue="20" />
<f:selectItem itemLabel="30 - ISENTA OU COM COBRANÇA DO ICMS POR ST" itemValue="30" />
//mais varios ICMS 50, 51, 70, 90, ...
<f:selectItem itemLabel="90 - OUTRAS" itemValue="90" />
<p:ajax update="fieldSetCSOTribNorm" event="change" />
</h:selectOneMenu>
//renderizo o panelgrid
<h:panelGrid columns="3" rendered="#{nFeProdutoMB.camposICMSCSTTribNorm eq '00' ? true :
(nFeProdutoMB.camposICMSCSTTribNorm eq '10' ? true :
(nFeProdutoMB.camposICMSCSTTribNorm eq '10a' ? true :
(nFeProdutoMB.camposICMSCSTTribNorm eq '20' ? true :
(nFeProdutoMB.camposICMSCSTTribNorm eq '51' ? true :
(nFeProdutoMB.camposICMSCSTTribNorm eq '70' ? true :
(nFeProdutoMB.camposICMSCSTTribNorm eq '90' ? true :
(nFeProdutoMB.camposICMSCSTTribNorm eq '90a' ? true : false)))))))}">
//conteudoooooo ......
</h:panelGrid>
// e tenho mais uns 4 panelGrid que são renderizados conforme escolho o ICMS e da mesma forma que esse, com um if extensoo.
//no meu MB...
private String camposICMSCSTTribNorm;
//getter e setter omitidos
bom a questão dessa forma perco desempenho ?
melhor fazer no MB esses if e retorna um Boolean, ou otimizar esses if’s,
valeu galera…