Извините за мой английский.AJAX не отображается в JSF
delete
Метод из TestMB
:
public String delete(Post post) {
getDao().delete(post);
return "success";
}
test.xhtml:
<h:form id="form1">
<ui:repeat value="#{TestMB.entityList}" var="entityList">
<p>
#{entityList.name}
<h:commandLink action="#{TestMB.delete(entityList)}">
del
<f:ajax render=":form1"/>
</h:commandLink>
</p>
</ui:repeat>
</h:form>
Страница не обновляется, когда я нажал на ссылку "Del". Если я снова нажму, страница обновится. Зачем?
, если я использую новый метод delete
TestMB
от:
private String txt1="test";
public String delete() {
try{
Thread.sleep(Long.valueOf("10000"));
}catch(Exception ex){}
txt1="";
return "";
}
И новый test.xhtml
:
<h:form id="form1">
#{testMB.txt1}
<h:commandLink action="#{testMB.delete}">
del
<f:ajax render=":form1"/>
</h:commandLink>
</h:form>
Я нажмите на ссылку "Del" и обновления страницы в течение 10 секунд.
Почему бы не работать в первом случае?
После того, как ссылка была нажата, страница должна быть перенесена в 'success.xhtml' (с любым суффиксом - подразумеваемой навигацией по мере ее появления). 'TestMB' в первом случае выглядит неуклюжим. Он должен начинаться с письма с маленьким регистром. Является ли этот метод действия корректным, когда вы нажимаете ссылку в первом случае? Если он вызывается правильно, он должен обязательно перейти к целевой странице, если в середине нет ошибок/исключений. – Tiny
Метод 'delete' работает в первом случае, он удаляет записи из db. Я не вижу ошибок в журнале стекловолокна. –