मेरे जेएसएफ पेज में मेरे पास एक कम्बोबॉक्स है जो एक टेबल को अपडेट करता है जब कम्बोबॉक्स का कोई आइटम चुना जाता है।जेएसएफ अजाक्स अपडेट कमांड लिंक्स पहले क्लिक पर विफल रहता है
तालिका में एक संपादन लिंक वाले आइटम हैं।
समस्या तब होती है जब तालिका को combobox द्वारा बदला जाता है, आपको पृष्ठ पर जाने के लिए लिंक पर दो बार क्लिक करने की आवश्यकता होती है। पहला क्लिक पेज को रीफ्रेश करें।
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<body>
<ui:composition template="/template.xhtml">
<ui:define name="windowTitle">Comment packages</ui:define>
<ui:define name="content">
<h3>Select the package to comment.</h3>
<h:form prependId="false">
Section:
<h:selectOneMenu id="selectSection" value="#{platformService.currentSection}">
<f:ajax render=":list-packages" />
<f:selectItems value="#{platformService.releasePlatform.sections}" />
</h:selectOneMenu>
</h:form>
<p/>
<h:panelGroup id="list-packages">
<h:dataTable id="packageList" var="package" value="#{packageService.packages}" border="1" >
<h:column>
<f:facet name="header">Package name</f:facet>
#{package.name}
</h:column>
<h:column>
<h:form>
<h:commandlink action="#{commentService.commentPackage}" value="Comment">
<f:param name="packageName" value="#{package.name}" />
</h:commandLink>
</h:form>
</h:column>
</h:dataTable>
</h:panelGroup>
</ui:define>
</ui:composition>
</body>
</html>
मैं भी CommandButton के साथ की कोशिश की है लेकिन आप यह भी बटन पर दो बार क्लिक करने की जरूरत:
यहाँ एक्सएचटीएमएल है।
मै मैनेज/जेटी में जेएसएफ 2.0.1-एफसीएस चला रहा हूं।
क्यों है: "सूची-पैकेज" नहीं "सूची-पैकेज" f में: AJAX रेंडर विशेषता? शायद यह समस्या है? शायद टेबल फिर से प्रस्तुत नहीं किया गया है? – amorfis
':' इसलिए है क्योंकि प्रस्तुत करने वाला घटक फ़ॉर्म के बाहर है। http://ocpsoft.com/java/jsf2-java/how-to-jsf-2-0-render-components-outside-of-the-form/ तालिका को अद्यतन/सही ढंग से प्रस्तुत किया गया है लेकिन इसमें लिंक पृष्ठ पर जाने के लिए तालिका को दो बार क्लिक करने की आवश्यकता है। – Anthony