JSF로 Java EJB를 사용하고 있습니다.Ajax가 첫 번째 제출시 작동하지 않습니다. 페이지 새로 고침 후 결과가 새로 고침됩니다.
내가 뭘하고있는 것은 데이터베이스에서 간단한 검색 결과이며 JSF를 사용하여 테이블에 표시하는 것입니다. 그러나 처음 제출할 때 결과가 나타나지 않는 이유는 무엇입니까? 두 번째로 결과 만 나타납니다.
다음은 내 JSF 페이지 코드
<h:form id="wholeForm">
<p:panelGrid id="resultTable" styleClass="result_table1" >
<p:row>
<p:column>
<div align="center" id="font-size1">
<h:selectOneRadio value="#{scanResult.typeOfScan}">
<f:selectItem itemValue="Carrier" itemLabel="Carrier"></f:selectItem>
<f:selectItem itemValue="Slot" itemLabel="Slot"></f:selectItem>
<f:selectItem itemValue="HD" itemLabel="HD"></f:selectItem>
<p:ajax event="change"></p:ajax>
</h:selectOneRadio>
Scan: <p:inputText styleClass="searchField" id="counter" value="#{scanResult.serialNumber}" a:autofocus="true">
<p:ajax event="keydown" update="wholeForm" onstart="if (event.keyCode != 13) { return false;}" listener="#{scanResult.checkResult()}" />
</p:inputText>
<br/><br/>
</div>
</p:column>
</p:row>
</p:panelGrid>
<p:panelGrid id="resultTable1" styleClass="result_table1" rendered="#{not empty scanResult.scanResultCarrier}" >
<c:forEach items="#{scanResult.scanResultCarrier}" var="result" >
<!-- ..do something and call out result -->
</p:column>
</p:row>
</c:forEach>
</p:panelGrid>
</h:form>
입니다 그리고 내 관리 빈은 내 결과를 인쇄 할 System.out.println(lsitofresult.size());
를 사용
@Named(value = "scanResult")
@SessionScoped
public class scanResult implements Serializable {
//Some code here
public void checkResult() {
scanResultCarrier = new ArrayList<>();
scanResultSlot = new ArrayList<>();
System.out.println("checking");
if (typeOfScan.equals("Carrier")) {
System.out.println("Serial " + serialNumber);
scanResultCarrier = scanresultcarrierFacade.searchResultCarrier(serialNumber);
System.out.println(scanResultCarrier.size());
} else if (typeOfScan.equals("Slot")) {
scanResultSlot = scanresultslotFacade.searchResultSlot(serialNumber);
} else if (typeOfScan.equals("HD")) {
} else {
}
serialNumber = "";
}
}
다음과 같이하고 결과가 비어 있지. 데이터베이스에서 결과를 성공적으로 검색한다는 의미입니다.
그러나 입력 결과를 클릭하면 내 결과 테이블을 볼 수 없습니다.
는 그럼 난 내 url
이 http://localhost:8080/outgoingScanSystem-war/faces/index.xhtml;jsessionid=8b6cefa932ff60984607ee38ec13
아래
같은 것을 알 내가 내 페이지를 새로 고침 한 후, 그 결과는 다시 나타납니다.
그리고 내 URL 변화 :
나는 이유를 알고있다http://localhost:8080/outgoingScanSystem-war/faces/index.xhtml
? URL과 관련이 있습니까? 어디에서 문제를 해결해야할지 모르겠습니다. 누구나 가이드 라인을 줄 수 있습니까?
https://stackoverflow.com/questions/9010734/why-do -i-need-to-nest-a-component-with-another-component-w/ –
JSF 2를 사용하고 있다고 가정하고 대답했습니다. .엑스. –