Prvo sam probao nesto ovako:
Code:
<script type="text/javascript">
function getContent(){
var zip=document.getElementById("zip").id.toString();
new Ajax.Request("zip.ajax",
{ method: "get",
parameters: "zip=" + zip,
onComplete: stateChange
});
}
function stateChange(asyncRequest){ //rezultat je vracen prema json notaciji
document.getElementById("output").innerHTML=asyncRequest.responseText;
}
</script>
</head>
<body>
<div class="center">
<h:commandButton id="zip" type="button" value="zip" onclick="getContent()" />
</div>
<br/>
<div id="output" class="watch"></div> <br/>
<script type="text/javascript">
function getContent(){
var zip=document.getElementById("zip").id.toString();
new Ajax.Request("zip.ajax",
{ method: "get",
parameters: "zip=" + zip,
onComplete: stateChange
});
}
function stateChange(asyncRequest){ //rezultat je vracen prema json notaciji
document.getElementById("output").innerHTML=asyncRequest.responseText;
}
</script>
</head>
<body>
<div class="center">
<h:commandButton id="zip" type="button" value="zip" onclick="getContent()" />
</div>
<br/>
<div id="output" class="watch"></div> <br/>
dok servlet AjaxServlet izgleda ovako
Code:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.setStatus(HttpServletResponse.SC_OK);
PrintWriter out = response.getWriter();
System.out.println("AjaxServlet");
try {
String zip="<h:inputText value='dsadsa'/>";
out.write(zip);
} finally {
out.close();
}
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.setStatus(HttpServletResponse.SC_OK);
PrintWriter out = response.getWriter();
System.out.println("AjaxServlet");
try {
String zip="<h:inputText value='dsadsa'/>";
out.write(zip);
} finally {
out.close();
}
}
i nece da ispise nista, e sad ako bi se ovaj string zip zamenio sa onim uobicajnim <input type = "text.... onda izbaci to input polje.
Onda sam probao na drgi nacim koristeci onaj Ajax4JSF:
Code:
<h:form>
<div class='center'>
<a4j:commandButton action="#{Dodavac.dodaj}"
value = "radi"
reRender = "output"/>
</div>
</h:form>
<br>
<h:outputLabel value="#{Dodavac.kod}" id="output" />
<h:form>
<div class='center'>
<a4j:commandButton action="#{Dodavac.dodaj}"
value = "radi"
reRender = "output"/>
</div>
</h:form>
<br>
<h:outputLabel value="#{Dodavac.kod}" id="output" />
, gde je ovaj Dodavac neki mali bean koji samo ima jedan string kod i sa metodom dodaj: kod = "<h:inputText value='dsadsa'/>"
E ni to i ne radi, nego mi ispise samo <h:inputText value='dsadsa'/>, znaci samo kao text, a ne kao formu. Probao sam i sa drugim h: i f: tagovima i nista.
Ako neko ima ideju kako da mi se pomocu ajaxa na ove ili neki drugi nacin ispisuju jsf forme, bio bih mu jako zahvalan.