这是ajax
var te= prompt("请输入值","");
main("22","query.do?value="+te);
alert(te);
//return val;//返回结果
}
function main(str1,str2)
{
id=document.getElementById(str1);
//alert(id);
url=str2;
view();
}
function view(){
createXMLHttpRequest();
xmlHttpRequest.open("post",url,true);
xmlHttpRequest.onreadystatechange = callback;
xmlHttpRequest.send(null);
return false;
}
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlHttpRequest = new XMLHttpRequest();
}
}
function callback(){
if(xmlHttpRequest.readyState == 4){
if(xmlHttpRequest.status == 200){
id.innerHTML = xmlHttpRequest.responseText;
}
}
}
action:
PrintWriter out=response.getWriter();
String s = request.getParameter("value");
out.print(s);
现在的情况是action已经接收到值了可就是没办法在页面上显示,需要怎么样才能在页面中显示 请各位高手尽量详细点 谢谢了!!!
方案一:楼主如果是Struts的话,可以自动装配,配置private的变量"value",然后加上get,set方法,在JSP上面使用${value}的方法取得
例:
[code="java Action"]
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
[/code]
方案二:如果是Spring框架的话,那就可以返回view&model的时候,放在map里,JSP取值同上
方案三:楼主亦可以把值放在Request对象中,在Jsp中取值的时候,使用${requestScope.value }
[code="java Action"]
ServletActionContext.getRequest().setAttribute("value",value);
[/code]
你是要给AJAX返回value是不是啊,我在Struts2里面试了,可以返回value,如果你也是Struts2的话,下面别忘记了返回null。servlet应该也可以的。
[code="java"]
ServletActionContext.getResponse().getWriter().print(value);
return null;
[/code]
[quote]
id.innerHTML = xmlHttpRequest.responseText;
[/quote]
这个id是什么意思??如果要在页面上显示。。可以用Javascript的document.getElementById("里面的标签id").innerHTML.这样可以。不知道你那个id是什么
在action中这样写
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");// 清除缓存
PrintWriter pw = null;
try {
pw = response.getWriter();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
pw.write(status);//要输出页面的字符串
pw.flush();
pw.close();
在jsp页面输出status