在jsp页面中通过ajax访问了action,对带过去的数值进行判断,然后返回一个json格式的数据给这个jsp,action怎么返回这个json给jsp呢
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>mypage index jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script src="javascript/jquery-1.3.2.min.js" type="text/javascript"></script>
</head>
<body>
welcome<br>
<div id="testJquery" style="cursor:pointer;">
click
</div>
</body>
<script type="text/javascript">
$(document).ready(function(){
$('#testJquery').click(function(){
alert("test");
checkUser();
});
});
function checkUser(){
$.ajax({
type:'POST',
url:'http://localhost:8099/mypage/demo/page.action',
dataType:'JSON',
data:"cmd=10&json=['admin','admin']",
//data:{"cmd":"10","username":"admsdsin","password":"admin"},
beforeSend:function(XMLHttpRequest){
//alert("beforeSend");
},
success:function(data,textStatus){
alert("SUCCESS data:"+data);
},
error:function(XMLHttpRequest,textStatus,errorThrown){
alert("error,textStatus:"+textStatus);
}
});
}
</script>
</html>
pageAction.java
package action;
import org.apache.struts2.ServletActionContext;
import org.json.JSONObject;
import com.opensymphony.xwork2.ActionSupport;
public class pageAction extends ActionSupport{
private String username;
private String password;
private String cmd;
public String execute(){
String result = "";
String message = "";
cmd = ServletActionContext.getRequest().getParameter("cmd");
username = ServletActionContext.getRequest().getParameter("username");
password = ServletActionContext.getRequest().getParameter("password");
//System.out.println("username:"+username+",password:"+password);
if("admin".equals(username) && "admin".equals(password)){
//message = "this is success";
result = "success";
}else{
//message = "this is error";
result = "error";
}
return result;
}
}
省略了get和set方法
请高手帮忙看一下
我这样改了,访问 localhost:8099/mypage,是404 ,tomcat的logs,localhost报出的错误是:
Exception starting filter struts2
Error building results for action page in namespace /demo - action - file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%205.5/webapps/mypage/WEB-INF/classes/struts.xml:5:49
那应该你structs配置文件有错误,这个不好怎么说,因为每个人搭的框架都不一定相同。
追问我现在就只是用的是struts2的,不知道是否方便在qq上面说,谢谢!644575308
struts2中,jsp页面通过ajax访问了action,action如何返回一个json数据给...
public String execute(){ String result = "";String message = "";\/\/创建流 PrintWriter out = null;\/\/创建json对象 JSONObject json = new JSONObject();cmd = ServletActionContext.getRequest().getParameter("cmd");username = ServletActionContext.getRequest().getParameter("username");pass...
struts2 中 Ajax发送请求到action,action中的json格式的字符串如何返...
这点你可以用一层servise来代替,如:action--->servise--->dao--->db这样就是把action里面实现的功能放到servies层去实现,这样就为了防止Ajax的请求
关于struts2,使用jquery发送ajax请求,返回json字符串的问题
aysnc:false, 下面加一句 dataType:"json", 试一下。你的配置文件没错,其实不用这么麻烦,JSONArray array = JSONArray.fromObject(smallTypes);System.out.println(array.toString());this.result = array.toString();这三句代码不需要。在action中,只要有get和set方法,值都能传到前台。
怎么在Action里返回到JPS页面的function()方法里
不能,你可以用AJAX,返回一个回调函数,这个回调函数你就可以写成验证函数了
...struts2 的 result 有跳转页面,那就会和 ajax的无刷新相违背,如何解 ...
Action方法里面return null,但是需要将你的数据以流的方式返回到页面,这就需要用到Jqurey ajax里面的返回结果,如json、text、xml等,如果是text那么直接将数据加入到输入流,如果是json则需要将数据封装成json在加入到输入流,代码如下 HttpServletResponse response = ServletActionContext.getResponse();res...
在ssh中怎样把action里面的json数据传到jsp页面
1\\至少要json 的jar包. 网上有下.2\\ json 传Map、List、JavaBean都挺好的,给你写几行 pResponse.setContentType("text\/json;charset=GBK");PrintWriter out=pResponse.getWriter();List list= XXXXX;(fa)JSONArray ja=JSONArray.fromObject(list);out.println(ja);out.flush();在页面上可以...
如何让struts2的action只执行,不跳转?
如果光看你这个问题的题目,有两个方法,第一个,用ajax,页面加载完成之后调用一个action,让action的返回页里面包含一个json或者xml数据,原页面调用这个页面的返回结果,第二个,写一个html页面,里面用js跳转来执行action 看了你问题的内容感觉有点迷糊了,不知道你的问题到底是什么,在详细说一下 ...
struts2怎么处理ajax请求
所以Ajax请求的页面一般比普通的HTTP请求的响应内容还要简单,可能是一个页面的一部分,也可能是xml、json等结构化的数据,还可能是一个简单的字符串。所以,在Struts 2中使用Ajax,Action一般就不会调用一个jsp视图来显示了(如果Ajax请求内容是页面的一部分也可能调用jsp视图),而是通过一些其他的方式。...
java 后台接收json数据 我想在struts2 的action里,接收ext传来的json...
只要从parameter里接收string类型就可以,然后将json字符串转换成你需要的东西
Struts2用Ajax提交报错ognl.NoSuchPropertyException
你action里面接收参数的方法跟JQ传参数的方法没对应,首先你页面input里面的name是用对象.参数,这个是要用form表单提交,后台才能用对象接受,现在你JQ里面使用的jsondata,相当于只是传了2个值过去而不是对象,现在你在action中在定义对应的2个私有个账号密码,看看是不是有值,你有2个选择后台会获取到...