Я пытаюсь обновить всю страницу в adf, когда вы нажимаете на ссылку, чтобы перейти на ту же страницу с новыми параметрами страницы. Если я открою ссылку в новой вкладке, она будет работать нормально, но ее открытие на той же вкладке не обновит.
У меня есть страница, которая просто отображает значение параметра из URL, ссылка на ту же страницу с другим значением параметра и выходной текст, который отображает дату и время. Мой поток задач начинается с вызова RetrieveDateTime (), а затем переходит к refrestTest.jsff. Поток задач - это область на странице refresh.jsf.
public class RefreshDC {
private String dateTime;
public RefreshDC() {
super();
}
public void RetrieveDateTime() {
System.out.println("DC RETRIEVEDATETIME");
RefreshFacade rf = new RefreshFacade();
this.dateTime = rf.getDate().getDatetime();
}
public void setDateTime(String dateTime) {
this.dateTime = dateTime;
}
public String getDateTime() {
return dateTime;
}
}
Фрагмент страницы:
//refreshTest.jsff
<?xml version='1.0' encoding='UTF-8'?>
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<af:panelGroupLayout id="pgl1" layout="vertical">
<af:outputText value="#{param.id}" id="ot1"/>
<af:goLink text="RP PDTLS" id="gl1" destination="/faces/refresh.jsf?
id=1234567890"/>
<af:outputText value="DateTime: #{bindings.dateTime.inputValue}"
shortDesc="#{bindings.dateTime.hints.tooltip}" id="ot2"
partialTriggers="gl1"/>
</af:panelGroupLayout>
</ui:composition>
Страница:
//refresh.jsf
<f:view xmlns:f="http://java.sun.com/jsf/core"
xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
<af:document title="refresh.jsf" id="d1">
<af:form id="f1">
<af:region value="#{bindings.refresh1.regionModel}" id="r1"/>
</af:form>
</af:document>
</f:view>
Как я уже сказал, если вы откроете goLink на новой вкладке, он обновит dateTime, однако если вы откроете его на той же вкладке, dateTime останется прежним. (Param.id обновляется в обоих случаях)