Oi pessoal...
Estou com o seguinte problema:
Eu tenho em uma página .jsp um 'selectonechoice' e um botão... quando esse botão é clicado, há um redirecionamento para uma outra página.. e nessa página existe um formulário.. onde são inseridos dados no banco... depois que o usuário coloca os dados, ele deve clicar em um botão.. que dá um commit e redireciona o usuário para página anterior (aquela página que tinha o selectonechoice), nessa página o selectonechoice deveria apresentar alguns intens .. dentre eles aquele que acabou de ser inserido... mas ele não mostra.. ou seja .. ele não atualiza...
Porém se eu fecho o browser e abro a página de novo ele atualiza...
ele não está atualizando em tempo de execução...
alguém sabe me dizer.. qual seria a melhor solução pra esse problema?...
agradeço desde já qualquer ajuda...
Atualizar um componente
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
não sei como esta fazendo o seu commit mas você tera que fazer com que seu vo seja carregado novamente...
apos o seu
se ainda não der jeito faça isso no seu bean, mas e bem provavel que o codigo acima já resolva
apos o seu
getDBTransaction().commit();
lá no teu AM faça
voCombo.executeQuery();
AdfFacesContext adfContext = AdfFacesContext.getCurrentInstance();
adfContext.addPartialTarget(bindingSelectOneChoice);
-
- Rank: Programador Sênior
- Mensagens: 69
- Registrado em: Sex, 08 Fev 2008 11:20 am
- Localização: São Paulo - SP
Mas se eu fizer isso ... ele vai inserir no banco duas vezes não vai?...
Esse é o meu botão que insere os dados no banco:
e esse é o método que ele chama...
Obs: o commit eu dou dentro da procedure que eu chamei..
essa segunda opção pode ser feita mesmo se o botão estiver em uma página e o componente a ser atualizada em outra?...
Ela tem de ser feita no bean do botão que insere né?..
Esse é o meu botão que insere os dados no banco:
<af:commandButton actionListener="#{bindings[\'gerar_os_transporte\'].execute}"
text="Gerar O.S. do Transporte"
disabled="#{!bindings[\'gerar_os_transporte\'].enabled}"
action="montagem_transporte"/>
public void gerar_os_transporte (
String wplaca,
int wid_user_motorista,
int wid_user_conferente,
String wobservacao
)
{
PreparedStatement plsqlBlock = null ;
String statement;
statement = "BEGIN pc_gerar_os_transporte(" +
":1,"+
":2," +
":3," +
":4 ) ;" +
"END;";
plsqlBlock = getDBTransaction().createPreparedStatement(statement,0);
try
{
plsqlBlock.setString(1,wplaca);
plsqlBlock.setInt(2,wid_user_motorista);
plsqlBlock.setInt(3,wid_user_conferente);
plsqlBlock.setString(4,wobservacao);
plsqlBlock.execute ();
}
.
.
.
essa segunda opção pode ser feita mesmo se o botão estiver em uma página e o componente a ser atualizada em outra?...
Ela tem de ser feita no bean do botão que insere né?..
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
porque você não faz um metodo no bean que retorne 'montagem_transporte' no fianl e antes chame um metodo no AM que faça o seu insert ?!?!
e dai basta chamar ele apartir no action
não e uma boa pratica usar actionListener e action
como se da os valores do seu 'selectonechoice' ?!?!
não e por meio de VO e EO ?!?!
e dai basta chamar ele apartir no action
não e uma boa pratica usar actionListener e action
como se da os valores do seu 'selectonechoice' ?!?!
não e por meio de VO e EO ?!?!
-
- Rank: Programador Sênior
- Mensagens: 69
- Registrado em: Sex, 08 Fev 2008 11:20 am
- Localização: São Paulo - SP
ahh está.. quanto a isso td bem...
já até mudei:
Meu selectonechoice:
já até mudei:
<af:commandButton
text="Gerar O.S. do Transporte"
disabled="#{!bindings[\'gerar_os_transporte\'].enabled}"
action="#{backing_OSTransporte.Gerar}"/>
public String Gerar() {
// Add event code here...
BindingContainer bindings = getBindings();
OperationBinding operationBinding = bindings.getOperationBinding("gerar_os_transporte");
Object result = operationBinding.execute();
if (!operationBinding.getErrors().isEmpty()) {
return null;
}
return "montagem_transporte";
}
<af:selectOneChoice value="#{bindings.wplaca1.inputValue}"
label="O.S." id="pesquisa_placa"
requiredMessageDetail="Selecione uma O.S.">
<f:selectItems value="#{bindings.wplaca1.items}"
id="valor_selecionado"/>
</af:selectOneChoice>
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
os meus selectOneChoice são baseados em VOs da seuinte forma..
jsp
page definition
onde 'SecaoQstVO1' é uma instancia de um VO no meu AM
dai o que eu disse pra você fazer é
logo apos o teu insert
jsp
<af:selectOneChoice value="#{bindings.SeqsChvSecaoQst.inputValue}"
simple="true" disabled="false">
<af:forEach items="#{bindings.SecaoQstVO1.rangeSet}"
var="row">
<af:selectItem value="#{row.SeqsChvSecaoQst.sequenceNumber}"
label="#{row.SeqsNomSecao}"/>
</af:forEach>
</af:selectOneChoice>
<iterator id="SecaoQstVO1Iterator" RangeSize="-1" Binds="SecaoQstVO1"
DataControl="SegmentoClienteAMDataControl"/>
onde 'SecaoQstVO1' é uma instancia de um VO no meu AM
dai o que eu disse pra você fazer é
getSecaoQstVO1().executeQuery();
-
- Moderador
- Mensagens: 1396
- Registrado em: Sex, 01 Fev 2008 2:06 pm
- Localização: Rio de Janeiro - RJ
- Contato:
getNomedoVO()
que você colocou no seu AM-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes